分配算法分别对应AllocateMessageQueueStrategy下的六种实现类
AllocateMachineRoomNearby
将同机房的Consumer和Broker优先分配在一起
可以通过一个machineRoomResolver对象来定制Consumer和Broker的机房解析规则
还需要引入另外一个分配策略来对同机房的Broker和Consumer进行分配
AllocateMessageQueueAveragely
平均分配。将所有MessageQueue平均分给每一个消费者
AllocateMessageQueueAveragelyByCircle
轮询分配。轮流的给一个消费者分配一个MessageQueue
AllocateMessageQueueByConfig
不分配,直接指定一个messageQueue列表。类似于广播模式,直接指定所有队列
AllocateMessageQueueByMachineRoom
按逻辑机房的概念进行分配。又是对BrokerName和ConsumerIdc有定制化的配置
AllocateMessageQueueConsistentHash
一致性哈希策略只需要指定一个虚拟节点数,是用的一个哈希环的算法,虚拟节点是为了让Hash数据在换上分布更为均匀