一、生产者负载均衡
可解决以下问题
消息发送的容灾策略:您可以根据生产者负载均衡策略,明确当局部节点出现故障时,消息发送如何进行容灾切换。
消息发送的顺序性机制:通过生产者负载均衡策略,您可以进一步了解顺序消息发送时,如何保证相同消息组内消息的先后顺序。
消息服务能力的均衡性策略:了解生产者负载均衡策略,您可以知晓消息在不同节点间分配的规律,您可以按照负载策略针对性地设计流量迁移和水平扩缩容的方案。
1.1. RoundRobin模式
对于非顺序消息(普通消息、定时/延时消息、事务消息)场景,默认且只能使用RoundRobin模式的负载均衡策略。
1.1.1. 策略原理:轮询方式
-
RoundRobin模式下,生产者发送消息时,以消息为粒度,按照轮询方式将消息依次发送到指定主题中的所有可写目标队列中,保证消息尽可能均衡地分布到所有队列。
1.1.2. 异常处理
-
当发送某条消息发送失败时,云消息队列 RocketMQ 版会根据失败原因决定在接下来一段时间内,选择队列目标时跳过本地失败队列所在的节点,快速实现自适应的故障隔离。
1.1.3. 策略特点
-
RoundRobin模式的生产者负载均衡策略仅适用于无顺序性的消息,该模式下是以消息为粒度进行轮询负载,因此消息能够尽可能实现均匀分布,使得主题的传输能力尽可能达到最大。
1.2. MessageGroupHash模式
对于顺序消息场景,默认且只能使用MessageGroupHash模式的负载均衡策略。