kafka架构
2021-11-04 21:57:40 27 举报
Kafka是一种分布式流处理平台,由LinkedIn公司开发,用于处理高吞吐量的数据流。它的架构包括多个组件,如Producer、Broker、Consumer、Zookeeper等。Producer负责生产消息,发送到Broker;Broker接收消息,并将其存储在Topic中;Consumer从Topic中订阅消息,并进行处理。Zookeeper用于管理和协调Kafka集群中的Broker。Kafka的高吞吐量和可扩展性使其成为大数据处理的理想选择。
作者其他创作
大纲/内容
3 ack
partion n
producer
broker - kafka实例
partion 0
...
就是发消息的
leader
如果topic有对应的follower从节点,则将发送的数据同步到从节点上去。
......
kafka架构
3
4 cosume
消费者消费数据也会去主节点上消费数据而不是从节点上
1 send
可以理解为数据库索引、哈希桶等,消息太多了挂在一个分析影响查询速度
kafka集群
2
topic - 订阅
comsumer grroup
partion 1
生产者生产数据只会发送到topic的leader主节点。
consumer
1、broker节点,所有kafak的节点;2、partion分区信息和所在的kafka节点位置等;3、消费者消费情况(1.0以后消费情况维护在kafka的系统topic consumer-offset中);4、replication 副本信息等;
zookeeper
就是备份partion分区用的,增加高可用,数据结构上是看不出来zookeeper会维护分区和副本的关系。同一个分区的副本个数不能超过kafka实例个数,同时分区是区分leader和follower的,同一个分区的主从不能出现在同一个kafka实例上。如果分区多的情况下,kafka会将这些分区尽可能均匀分布在每个实例上
保存注册kafka数据,包括:
consumer - 消费者
topic 1
就是区分消息的,主要是谁消费这些消息就把这些消息放到一个topic中
有一个要求,就是消费者组的消费者们不同同时消费者们不能消费同一个topic下同一个pation。这会出现重复消费问题。消费者组是为了提高消费者消费能力,间接提高kafka吞吐量
2 copy
broker-1
生产者
follower
consumer group - 消费者组
topic 2
消费者
就是消费者
1
replication - 副本
producer - 生产者
4
从节点收到消息处理完成后会给主节点一个应答消息反应处理结果。
server.conf中会配置每个实例的id,是个int类型并且不能重复
partion - 分区
broker-2
broker-3
0 条评论
下一页