6、kafka如何知道哪个消费者消费哪个分区?
生产者把数据发送给各个分区,每个broker节点都有一个coordinator(协调器),消费者组对分区进行消费,到底哪个消费者消费哪个分区呢?首先groupId对50取模,看最后的结果是哪个分区节点,假如是1分区,那么1分区的协调器就是本次消费者组的老大,消费者纷纷向该协调器进行注册,协调器从中随机选择一个消费者作为本次消费的Leader,然后把本次消费的具体情况发送给Leader,让其制定一个消费计划(就是哪个消费者消费哪个分区),然后Leader发送给协调器,协调器再进行群发,将计划公布,各个消费者按照这个计划进行消费。
7、kafka消费者的消费分区策略有哪些,默认是个?
Kafka有四种主流的分区分配策略:
Range、RoundRobin(轮询)、Sticky(粘性)、CooperativeSticky(配合的粘性)。
默认策略是Range + CooperativeSticky。Kafka可以同时使用多个分区分配策略。