作者:拍友2702933273 | 来源:互联网 | 2023-05-24 14:53
我是RabbitMQ的新手,所以请原谅我的琐碎问题:
1)如果在RabbitMQ中进行集群,如果节点发生故障,则加载转移到另一个节点(不停止其他节点).同样,我们也可以在不停止集群中的现有节点的情况下向现有集群添加新的新节点.那是对的吗?
2)假设我们从一个rabbitMQ节点开始,并在其上创建100个队列.现在,制作人开始以更快的速度发送消息 要处理此负载,我们会添加更多节点并创建一个集群.但队列仅存在于第一个节点上.现在节点之间的负载如何平衡?如果我们需要添加更多队列,我们应该在哪个节点添加它们?或者我们可以使用负载均衡器添加它们.
提前致谢
1> Deepak Bala..:
1)如果在RabbitMQ中进行集群,如果节点发生故障,则加载转移到另一个节点(不停止其他节点).同样,我们也可以在不停止集群中的现有节点的情况下向现有集群添加新的新节点.那是对的吗?
如果创建队列的节点出现故障,只要启用了队列镜像,rabbitmq就会为集群中的该队列选择一个新的主节点.群集根据您可以定义的策略提供HA.
2)假设我们从一个rabbitMQ节点开始,并在其上创建100个队列.现在,制作人开始以更快的速度发送消息 要处理此负载,我们会添加更多节点并创建一个集群.但队列仅存在于第一个节点上.现在节点之间的负载如何平衡?
负载不平衡.分布式群集提供HA而不是负载平衡.您的请求将被重定向到队列所在的群集中的节点.
如果我们需要添加更多队列,我们应该在哪个节点添加它们?或者我们可以使用负载均衡器添加它们.
这取决于您的用例.有些人使用循环法并在不同的节点上创建队列.
综上所述
对于HA ,请在群集中使用镜像.
要平衡节点之间的负载,请使用LB在队列之间进行分配.
如果您想对队列进行负载均衡,请查看联合队列.它们允许您从上游队列获取下游队列中的消息.