生产者(Produce)
- 每一个消息是否都很重要,是否允许丢失一小部分消息。
2. 是否可以接受偶尔出现消息重复?
3. 是否有严格的延时和吞吐量要求?
Kafka 消息的顺序保证
kafka 可以保证同一个分区里的消息是有序的。生产者每次尝试每一次发送一个数据给Broker
序列化器
分区
Kafka 的消息是一个个键值对,key有两个用途:可以作为消息的附加消息,也可以用来决定消息被写到主题的那个分区。
分区策略:
只有在不改变主题和分区数量的情况下,键与分区之间的映射才能保持不变。
消费者:
消费者群组
分区再均衡:
Kafka 集群
kafka 使用zookeeper 来维护集群成员的信息。
控制器(Controller)
控制器其实就是一个broker,只不过它除了具有一般Broker 的功能之外,还负责分区首领的选举。