简介: 更新负载平衡集群中的节点的最佳实践是什么?
我们在 ha 代理负载均衡器后面使用 RabbitMQ 集群来支持我们的客户端轻松集群,as suggested in the RabbitMQ docs
尽管文档建议了这一点,但他们没有描述从集群中删除节点以进行升级并将其放回原处的最佳方法。
这是我认为我们应该使用的过程:
rabbitmqctl stop_app
从集群中删除节点在节点本身上,并等待它关闭 但我已经建议我们首先从 ha 代理中删除它,基本上交换上面的步骤 1 和 2
这是另一位团队成员建议的流程:
rabbitmqctl stop_app
从集群中删除节点在节点本身上,并等待它关闭 这样做的最佳方法是什么?
最佳答案
对我来说,显而易见的方法是告诉你 haproxy 你想停止向服务器发送请求,然后停止服务器本身,而不是相反。
我很好奇您为什么要先停止服务器,然后将其放入 maint ?如果你这样做,一些请求会在你知道它消失之前到达你的节点。我相信你可以设置 haproxy 来重新发送那些未接来电;所以最好的情况是你有一些请求有点慢,最坏的情况是你有一些错过的请求。
首先将其设置为维护模式没有任何具体的缺点,因此我不会亲自考虑其他选项。
关于RabbitMQ 集群 - 更新负载平衡集群中节点的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42422439/