鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

调优思路

Flink作为一个流处理框架,主要作用是处理数据,将数据通过一定的方法计算、统计、分析,最终输出。典型的数据处理场景,即为Kafka、Flink、Redis三个组件共同使用,数据从Kafka获取,Flink进行计算分析,最终将结果写入Redis。

流处理框架,有一定的编程规范,主要思路如图1所示。

图1 流处理器框架

每个Flink程序都可以以类似的方式编写,主要思路即为先定义Flink流处理过程,每个步骤输入输出对齐,最终把数据输出。整个工作流定义完成后,就可以开始执行了,整个执行过程是无限流,永不停止,直到Flink任务被外部kill为止。

yahoo-streaming-benchmark工具主要用途是测试集群Flink处理性能,其测试过程为数据生成 > 数据写入Kafka > 数据从Kafka读出 > 预处理数据 > 窗口处理数据 > 结果写入Redis,端到端的测试Flink流处理过程,测试流程图如图2所示。主要性能指标为数据吞吐量和处理时延。

图2 yahoo-streaming-benchmark测试流程图

数据从Flink其中一个进程生成,不断写入Kafka,由另一个进程读出数据进行处理,最终写入Redis,在Flink job执行完成后,Redis进行结果统计分析。