1.7 工作中如何选择实时计算框架

前面我们分析了3种实时计算框架,那么公司在实际操作时到底选择哪种技术框架呢?下面我们来分析一下。

  • 需要关注流数据是否需要进行状态管理,如果是,那么只能在Trident、Spark Streaming和Flink中选择一个。
  • 需要考虑项目对At-least-once(至少一次)或者Exactly-once(仅一次)消息投递模式是否有特殊要求,如果必须要保证仅一次,也不能选择Storm。
  • 对于小型独立的项目,并且需要低延迟的场景,建议使用Storm,这样比较简单。
  • 如果你的项目已经使用了Spark,并且秒级别的实时处理可以满足需求的话,建议使用Spark Streaming
  • 要求消息投递语义为Exactly-once;数据量较大,要求高吞吐低延迟;需要进行状态管理或窗口统计,这时建议使用Flink。