使用Storm、Kafka和ElasticSearch处理实时数据 -javacodegeeks


这是使用Storm,Kafka和ElasticSearch处理实时数据的文章和源码
批处理和流处理的区别:

  • 批处理:批处理是要一起处理的数据的集合(请参见图1)。批处理允许您将不同的数据点合并,合并或聚合在一起。在整个批次完成处理之前,通常无法获得其结果。批次越大,从中获取有用信息的等待时间就越长。如果需要更直接的结果,则流处理是更好的解决方案。
  • 流处理:流处理器作用于无限制的数据流,而不是连续摄取的一批数据点(“流”)(请参见图2)。与批处理过程不同,没有明确定义的起点或终点到流经此流的数据点。它是连续的。低延迟(或高速)是此处用于选择流处理的关键字。

流处理链如图所示:

可以使用的另一种技术堆栈是SMACK [1]:
  • Spark:引擎(替代Storm)
  • Mesos:容器
  • Akka:模型
  • Cassandra:存储(替代ElasticSearch)
  • Kafka:消息代理