Apache Flink与Apache Storm实时处理性能基准对比及开源流API咨询
问题1:Apache Flink 与 Apache Storm 的真实性能基准测试结论
目前业内同环境下的可控基准测试已经形成了统一结论:相同硬件配置、相同算子逻辑、相同消息可靠性保障等级的前提下,Flink的吞吐量普遍是Storm的210倍,端到端延迟比Storm低30%70%。
相关测试的注意事项:
- 性能差值和测试场景强相关:简单单流过滤、转换场景下两者差距偏小,带窗口计算、多流Join的复杂计算场景下差距会明显拉大
- 上述结论默认基于Storm开启至少一次语义、Flink开启恰好一次语义的配置,如果关闭可靠性保障,两者吞吐量都会有30%~100%的提升,但Flink的性能优势依然存在
- Storm 2.0+版本相比1.x版本吞吐量提升了2倍左右,基于Storm 1.x的旧基准测试数据参考价值有限
问题2:吞吐量高于Twitter API的开源流数据源方案
以下是流处理性能测试常用的高吞吐开源数据源,输出上限都远高于公开Twitter API的限流阈值:
Apache Kafka 自带生产者API:是流处理基准测试最常用的数据源,支持自定义消息结构、生成速率、乱序比例等参数,单节点单分区吞吐量可达10万条/秒以上,多节点集群可以轻松扩展到千万条/秒级的输出能力Yahoo Streaming Benchmark 内置数据生成器:专门为Flink、Storm、Spark Streaming的对比测试设计,默认模拟广告曝光业务流,可直接调整输出吞吐量上限,单节点最高可支持百万条/秒的输出速率Rapidoid HTTP流框架:轻量高性能的HTTP流API实现,单实例可支持百万级QPS的流数据输出,适合需要模拟HTTP流输入场景的测试OpenMessaging Benchmark 数据源组件:内置多种真实业务场景的事件生成模板,可模拟符合真实业务特征的事件流,吞吐量上限满足绝大多数性能测试需求
内容的提问来源于stack exchange,提问作者Issibra
相关产品推荐
相关产品推荐

