我需要在不同数据库之间同步表。因此,我想设置一个高可用性RabbitMQ集群。没有消息丢失是非常重要的,因为它会导致异步表。
正如您在此处所看到的,此方法存在严重的失败点。如果负载均衡器因任何原因无法访问,则发送方无法向RabbitMQ队列发送消息。
可能的选择是:
我对两种解决方案都感到不舒服。也许有人对这个特定主题有更好的想法或进一步阅读?
我想用php使用RabbitMQ。知道这个问题不是很重要,但也许有人知道PHP特定的答案。
答案 0 :(得分:1)
这是一个常见问题。
如果您的方案中的负载均衡器可以fail
,则必须向客户端实施HA
行为。
大多数RabbitMQ客户端都没有实现HA
。
例如,此client实现了HA
客户端。
如果您担心负载均衡器失败,您还可以在HA
中配置负载均衡器。
我会注意在HA
中配置负载均衡器。
BTW你的问题很通用,希望有所帮助