个人备忘
概述:
在流式计算中,kafka一般用来缓存数据,Strom通过消费kafka 的数据进行计算。
1) Apache Kafka 是一个开源消息系统,由Scala写成。是由Apache 软件基金会开发的一个开源消息系统项目。
2) kafka 最初是由Linkedln开发,并于2011年处开源。2012 年10月从Apache lncubator 毕业。该项目的目标是为处理实时数据提供一个统一,高通量,地等待的平台。
3) Kafka 是一个分布式消息队列。Kafka 对消息保存时根据topic 进行归类,发送消息者称为producer, 消息接收者称为Consumer, 此外kafka 集群有多个kafka 实例组成,每个实例(server)成为broker.
4) 无论时kafka集群,还是producer 和 consumer 都依赖与zookeeper 集群保证一些meta信息,来保证系统可用性。
kafka发送消息模式
1)kafka 发送消息有两种模式,一种是:点对点;还有一种是:一对多。
kafka内部组成结构
1)kafka broker 可以定义多个队列(topic), 每个topic 下可以有多个分区(parttion)。
2)发送者producer可以指定topic 发送消息,也可以指定topic 下的具体分区来发送消息。
3)所有发送的消息都存储在broker 中,在kafka集群中,每个分区上的消息数据都可以有副本,针对每个分区分为leader,副本为fllower。发送者和消费者都只