1. 介绍

1.1 亮点

kafka stream的出现相比flink、storm等其他实时流处理框架有以下亮点:

  1. 设计成简单和轻量级的客户端类库,可以和现有Java应用、部署工具轻松整合。
  2. 除了Kafka自身外不依赖其他外部系统。
  3. 利用Kafka的分区模型来实现水平扩展并保证有序处理。
  4. 支持容错的本地状态,这使得快速高效处理一些有状态的操作(如连接和开窗聚合)成为可能。
  5. 支持一次一条记录的处理方式以实现低延迟(spark streaming不支持单条消费,延迟会长),也支持基于事件时间的开窗操作(storm必须依赖trident才支持时间窗)。
  6. 提供了两套流处理原语:高层的流DSL和低层的处理器API。 7.Kafka Streams入门的门槛很低:很容易编写单机的示例程序,然后通过在多台机器上运行多个实例即可水平扩展从而达到高吞吐量。Kafka Streams利用Kafka的并发模型以实现透明的负载均衡。

1.2 缺点

未完待续

参考资料:

  1. KafkaStreams入门指南