我已经建立了一个兔子集群,每次数据库中发生变化时,我都会将消息发布到扇出交换中。
我有专用队列绑定到此交换,用于使用这些更新的一些微服务,并且我最初还为外部客户端设置了专用队列,以便他们可以将其与自己的 Rabbit 基础设施联合并使用每条消息的副本。
现在我想知道允许交换联合而不是为每个新的外部消费者创建一个新的专用队列是否是更好的方法,因为越来越多的用户将会到来。
优缺点都有什么?
Thanks
只要您正确管理权限,最终决定权取决于您。您可以先尝试所有变体,然后找到适合您实际需求的。
拥有本地队列可能有其优点和缺点:它允许最终用户以磁盘/内存为代价,克服基础设施或网络问题带来的一些中断,但是,您可以限制队列长度和/或大小。
我建议你看一下铲子插件 https://www.rabbitmq.com/shovel.html and 动力铲 https://www.rabbitmq.com/shovel-dynamic.html。使用本地队列,它可以提供很好的工作。
与联邦相比,铲子要简单得多,例如它不会同步上游和下游之间的内容,而只是以可靠的方式将消息从一个队列移动到另一个队列。只要你不需要联邦提供的东西,铲子可能是一个不错的选择。
另外,您可能会发现这个问题很有用(但是,它可能有点过时)-https://stackoverflow.com/a/19357272 https://stackoverflow.com/a/19357272.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)