【问题标题】:RabbitMQ: Shovel vs Federation for Microservice CommunicationRabbitMQ:微服务通信的铲子与联邦
【发布时间】:2021-05-19 16:46:08
【问题描述】:

我花了很多时间试图弄清楚我应该使用 RabbitMQ 联邦插件还是铲子。

基本上我有两个微服务。我希望其中一个向另一个发送消息。每个微服务都有不同的rabbitMQ集群,所以我需要使用Federation/shovel。

我阅读了这篇 When to use RabbitMQ shovels and when Federation plugin? 的帖子,但仍然无法弄清楚/做出决定。

我要满足以下条件:

  1. 松耦合
  2. 微服务彼此不了解——即第一个微服务发出一条消息说“我已经完成了 x”。第二个微服务只是监听那个“事件”并采取相应的行动..
  3. 未来我“可能”想要添加更多微服务,每个微服务都有自己的 rabbitMQ 集群/vhost。

根据这些信息 - 你推荐什么,铲子还是联邦?

【问题讨论】:

    标签: rabbitmq microservices event-sourcing rabbitmq-shovel rabbitmq-federation


    【解决方案1】:

    为什么不把所有东西都放在一个集群上呢? RabbitMQ 是为处理 10k+ 交换和队列而构建的,实际上除了内存或磁盘空间之外没有上限。为每个微服务设置一个集群的工作量太大,并且会产生不必要的开销。使用 vhost 也不应该用于此,而是用于每个业务领域。

    我只使用铲子,并使用它们将消息从我的生产环境传输到测试,因此我可以使用真实数据进行测试。使用脚本设置非常容易。是的,您应该只使用脚本执行此操作。使用 UI 太慢了。

    我知道这并不能直接回答你的问题,但我希望它能给你一些思考。

    祝你消息愉快!

    【讨论】:

      猜你喜欢
      • 2014-06-27
      • 1970-01-01
      • 2019-02-13
      • 2022-06-17
      • 2020-08-19
      • 2015-10-14
      • 2017-12-31
      • 2019-09-11
      • 2020-02-08
      相关资源
      最近更新 更多