kafka 消费者分区策略

分区分配策略:(当消费者组中的消费者增多或减少会触发分区分配策略)
一个consumer group中有多个consumer,一个topic有多个partition,所以必然会涉及到partition
的分配问题,及确定那个partition由哪个consumer来消费。

kafka中有两种分配策略,一是RoundRobin,一是Range(默认):

RoundRObin是轮询分配给消费者:
假如:(1)topic的名字为topicA,有三个分区0,1,2,一个consumer gourp中有两个consumer分别是A,B那么这时候分配规则:A , topicA-0和topicA-2; B,topicA-1;轮询的方式进行的。
(2)topic的名字为topicB,topicA,分别有三个分区0,1,2,一个consumer gourp中有两个consumer分别是A,B那么这时候分配规则A订阅topicA,B订阅topicB(其实就是组订阅了topicA和B,这个是针对组进行订阅的):这时会根据topicAndPartition对象将分区进行重新处理,根据hash值将这两个的主题重新分配,分配为六个对象,在把这六个对象进行轮询给到组内的两个消费者。这个是针对组的。(RoundRobin分配策略)
Range分配策略(针对topic进行分配的):
(1)topic的名字为topicA,有三个分区0,1,2,一个consumer gourp中有两个consumer分别是A,B那么这时候分配规则:A,topic-0和topic-1;B,topic-2。不是轮询分配。
(2)topic的名字为topicB,topicA,分别有三个分区0,1,2,一个consumer gourp中有两个consumer分别是A,B那么这时候分配规则组订阅topicA和topicB,这样A对应的就是topicA-0,topicA-1,topicB-0,topicB-1;B对应的就是topicA-2和topicB-2。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值