大纲
- 启用Random Exchange
- 创建Exchange
- 绑定队列
- 测试
在《RabbitMQ实践——利用一致性Hash交换器做负载均衡》中,我们使用了Consistent Hash Exchange实践了消息路由的负载均衡。本文我们将使用一种更简单的交换器来实现该功能,这就是“随机交换器”(Random Exchange)。
启用Random Exchange
和Consistent Hash Exchange一样,Random Exchange默认也是关闭的,所以我们需要通过下面的命令启动该功能:
sudo -H -u rabbitmq bash -c "/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_random_exchange"
然后我们在创建Exchange页面时,就可以看到该类型。
创建Exchange
绑定队列
和Consistent Hash Exchange不同的是,给Random Exchange创建Banding时不需要指定Routing key。这就意味着它,它只有单纯的“负载均衡”的功能,而不像Consistent Hash Exchange,可以通过Routing key值表示权重,来“不均衡”路由消息。
测试
public boolean sendToXCRandomExchange(String exchangeName, Long count) {
for (int i = 0; i < count; i++) {
rabbitTemplate.convertAndSend(exchangeName, "", "Message " + i);
}
return true;
}
然后发送10,0000条消息
可以看到这些消息被相对均衡的分配