[toc]
为什么
妈耶,升级到wordpress 5.0后,连编辑器都不会用了🤣😂🤣 这个添加表情的功能还不错(是windowns10的),Gutenberg
kafka
kafka里面一个topic的消息只能被一个消费者消费,如果有多个消费者存在的情况下,kafka会设置一个topic里面的一个partition的数据只会被某一个特定消费者消费,
例如: 对于一个topic有三个消费者,对于10个partition,那么kafka可能会给一个消费者分三个partition,然后分完这十个。
触发rebanlance
消费者消费上面分配的特定的partition,但是如果消费者异常了(无法消费信息了),kafka经过检测机制,就会重新分配partition,把坏的消费者本来应该处理的partition,再分配给其他的消费者,在此期间好的消费者无法进行消息消费,直到rebanlance结束。 这样会导致业务出现延时。
partition分配策略
- 将目标 topic 下的所有 partirtion 排序,存于PT
- 对某 consumer group 下所有 consumer 排序,存于 CG,第 i 个consumer 记为 Ci
- N=size(PT)/size(CG),向上取整
- 解除 Ci 对原来分配的 partition 的消费权(i从0开始)
- 将第iN到(i+1)N-1个 partition 分配给 Ci
例如:10个partition,3个consumer,i=0..2,n=4,
发表回复