在大数据技术领域,实时计算引擎如spark、storm和flink等被广泛使用,许多公司已经开始将计算任务从storm迁移到flink。
Storm
Storm是一款免费且开源的分布式流处理计算框架,具有低延迟、容错和高可用等特点。它能够轻松可靠地处理无限数据流,是实时分析、在线机器学习、持续计算、分布式RPC和ETL的理想选择。
主要特点包括:
- 广泛的应用场景:适用于流处理、持续计算、分布式RPC等多种用途。
- 可扩展性:通过增加机器和调整拓扑的并行度设置即可扩展。
- 数据无丢失保证:Storm确保每条消息都能被处理,适合实时系统。
- 容错性:如果计算过程中出现故障,Storm会重新分配任务,确保计算可以持续运行。
- 语言无关性:Storm的拓扑和处理组件可以用任意语言编写,具有广泛的可访问性。
然而,Storm也有其缺点:
- 无状态:需要用户自行管理状态。
- 缺乏高级功能:如事件时间处理、聚合、窗口、会话和水印等。
更多信息请参考:
https://www.php.cn/link/7da9e0bb90d7f5b27e9af974fe437abf
https://www.php.cn/link/68734a7a3d5ec49253b8ac2dbd3c30c0

Flink
Flink是一个既支持数据流处理又支持批量数据处理的开源框架和分布式处理引擎,具有高吞吐、低延迟、高扩展性和支持容错等特点。
主要特点包括:
- 流批一体:优先支持流处理,同时也支持批处理。
- 优雅的API:在Java和Scala中提供流畅易用的API。
- 高吞吐和低延迟:支持高吞吐量和低事件延迟的运行时。
- 容忍数据延迟、迟到和乱序:有效处理基于事件时间的数据乱序和延迟问题。
- 灵活的窗口定义:提供高度灵活的窗口操作。
- 容错机制:能够恢复数据流应用到一致状态。
- 背压机制:在流处理中自然实现背压。
Flink的缺点包括:
- 社区较小:虽然社区正在快速成长,但不如Spark的社区强大。
- 流处理比批处理更流行:在实际应用中,流处理的使用更为广泛。











