题目:kafka分区分配策略(包括生产者和消费者)
答案:
一、生产者分区分配策略:
二、消费者分区分配策略:
在kafka内部存在两种默认的分区分配策略:Range和RoundRobin
1.Range是默认策略。Range是对每个topic而言的(即一个topic一个topic分),首先对同一个topic里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序。然后用partitions分区的个数除以消费者线程的总数来决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者将会多消费一个分区。
2.RoundRobin:是针对及集群中所有topic而言。
RoundRobin轮询分区策略:是把所有partition和所有的consumer都列出来,然后按照hashcode进行排序,最后通过轮询算法来分配partition到各个消费者