Kafka 架构
2016-10-20 14:13:14 0 举报
Kafka是一种分布式流处理平台,由LinkedIn于2010年开源。它主要用于构建实时数据管道和流应用。Kafka的核心是一个发布/订阅的消息系统,它能够在多个消费者之间平衡负载,并保证消息的顺序性。Kafka的架构包括生产者、消费者、主题和分区四个主要部分。生产者负责将消息发送到指定的主题,消费者从主题中读取消息,主题是消息的分类,分区是主题的子集,每个分区都可以在不同的服务器上进行复制,以提高可靠性和可用性。Kafka还提供了持久化功能,可以将消息存储在磁盘上,以便在消费者离线时重新消费。总之,Kafka是一个高性能、可扩展、容错性强的消息系统,适用于大规模的实时数据处理场景。
作者其他创作
大纲/内容
Consumer1
LEO
Topic1
GC
Send
Broker_4
1
Zookeeper
Broker1Leader
p1 follow
2
Listener
Broker_2
ISR
Pull
6
T1P2
Consumer GroupC1订阅T1 C2订阅T2.T3 C3订阅T1.T3
T2P2
T3P1
消费相同TOPIC
Broker_3
Producer
Kafka Controller
Consumer3
T4P1
Broker3
T1P3
Consumer2
StickyAssignor策略
T3P2
5
Broker3Leader
Broker2
T3P3
T1P1
Broker6
3
Broker3为Controller
Broker4
T2P1
controller_epoch =2
Consumer Group消费者1.2 都订阅了Topic 1/2
T2P3
HW
create/controller node创建controller临时节点成功
p1
4
OSR
BrokerLeader
All Replica所有副本集
p1 Leader
6
Broker_1
7
增加/controller_epoch记录控制器的年号
Consumer Group
消费不同TOPIC
认为自己为Controller
T4P2
RoundRobinAssignor策略
Controller
当ISR长时间未跟Leader同步时,或同步时数据差距太大时(默认1w条)会被移除ISR集合replica.lag.time.max.ms 时间差配置 replica.lag.max.messages 消息条数 (0.9.0.0版本以后被移除)
Updata Node Info
Response
Broker5
delete/controller node删除controller临时节点
controller_epoch = 1
0 条评论
回复 删除
下一页