我已经设置了一个兔子群集,每当数据库发生变化时,我就会将消息发布到扇出交换中。
我有一些专门的队列绑定到这个交换,我的一些微服务使用这些更新,我最初还为外部客户端设置了一个专用队列,以便他们可以将它与自己的兔子基础设施联合起来并使用每个消息。
现在我想知道是否允许交换联合而不是为每个新的外部消费者创建一个新的专用队列将是一个更好的方法,因为会有越来越多的用户来。
有什么优点和缺点?
由于
答案 0 :(得分:1)
只要您正确管理权限,最终决定权由您决定。您可以先尝试所有变体,然后找到适合您实际需求的变体。
拥有本地队列可能有它的优点和缺点:它允许最终用户以其基础设施或网络问题以磁盘/内存为代价来承受一些中断,但是,您可能会限制队列长度和/或大小。 / p>
我建议您查看Shovel plugin和Dynamic shovels。使用本地队列,它可以提供良好的服务。
与联邦相比,铲子更简单,例如它不会在上游和下游之间同步内容,而只是以可靠的方式将消息从一个队列移动到另一个队列。只要你不需要联邦提供的东西,铲子就是一个不错的选择。
另外,你可能会发现这个q / a很有用(但是,它可能有点过时) - https://stackoverflow.com/a/19357272。