kafka结构图
2019-11-29 14:58:45 1 举报
kafka结构图
作者其他创作
大纲/内容
partition1
生产者2
partition2
msg1
每个partition里面都是一个消息队列
partition1-1
broker服务器2
msg0
Group-B
broker服务器……
Kafka的分布式实现
partition3
offset 即:消息唯一标识:对应类型:longMessageSize 对应类型:int32data 是message的具体内容。
topic2
topic3
MessageSize
msg2
越多的partitions意味着可以容纳更多的consumer,有效提升并发消费的能力
消费者D
broker服务器1
消息分区:即:Partition,一个Topic下面会分为很多分区,例如:“kafka-test”这个Topic下可以分为6个分区,分别由两台服务器提供,那么通常可以配置为让每台服务器提供3个分区,假如服务器ID分别为0、1,则所有的分区为0-0、0-1、0-2和1-0、1-1、1-2。Topic物理上的分组,一个 topic可以分为多个 partition,每个 partition 是一个有序的队列。partition中的每条消息都会被分配一个有序的 id(offset)。
Group-A
1、 partition在写入的时候可以指定需要写入的partition,如果有指定,则写入对应的partition。2、 如果没有指定partition,但是设置了数据的key,则会根据key的值hash出一个partition。3、 如果既没指定partition,又没有设置key,则会轮询选出一个partition。
data
消费者A
topic1
消费者分组:Group,用于归组同类消费者,在Kafka中,多个消费者可以共同消息一个Topic下的消息,每个消费者消费其中的部分消息,这些消费者就组成了一个分组,拥有同一个分组名称,通常也被称为消费者集群
partition2-2
msg……
消费者C
msg3
……
消费者B
offset
一个partition中的消息只会被group中的一个consumer消息。每个group中consumer消息消费互相独立
生产者1
0 条评论
下一页