Kafka 集群
2022-06-20 17:56:54 1 举报
kafka 集群理解,涉及基本概念,生产消息到消费端消费消息,部分容易出现问题的地方的点
作者其他创作
大纲/内容
write
重复消费通过设置手动应答或者通过消费端与服务端的心跳检测时间来判断,可以有效控制消息的offset
同步数据
Consumer_A
My-Cluster-Topic
Partition --- 分区Leader --- 用于接收客户端和服消费端写和读消息Replicas --- 备份节点(包括存活与不存活的节点),用于备份数据Isr --- 集群中存活的节点
P1(Follower)
S_Consumer-Group
Consumer_C
同步数据给 id 为 0,1
Producer_A
read
发送时,还可以指定发送到那个分区,如果没有指定分区,则通过hash计算得出将发往那个分区
J_Consumer-Group
通过配置参数,可以有效保证消息可靠性传输,但是高效性会受到一定的影响
Msg --- Producer
Controller
ConsumerGroup:消费组中有多个消费者Consumer:一个消费组中的一个消费者只能消费一个Partitions中的消息具体消费Parpations中的哪一个消息,通过offset决定。offset其实是用于表示消息在日志中的位置
kafka集群启动的时候,选举一个broker成为集群控制中心(相当于一个普通的broker多承担了一份责任),这里选举的broker.id = 0的为控制中心,专门监控集群中各个节点,消费端与服务器的心跳检测等操作,用于通知
说明:1--消息丢失的情况2--消息丢失的情况3--消息重复消费的情况
3
P2(Follower)
注册
P0(Follower)
消费者,可以指定拉取某一个分区中的消息进行消费,反之,如果没有指定消费分区,则消费分配给自己的分区中的消息
P1(Leader)
Consumer_B
P0(Leader)
同步数据给 id 为 1,2
Producer_B
Zookeeper 集群
P2(Leader)
Broker.id = 2
Kafka 集群
1
2
Producer_C
重复消费
Broker.id = 1
存储的是kafk集群中的broker服务
消息丢失
Broker.id = 0
收藏
收藏
0 条评论
下一页