首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RabbitMQ与微服务-如何处理规模服务?

RabbitMQ与微服务-如何处理规模服务?
EN

Stack Overflow用户
提问于 2019-10-31 16:59:42
回答 2查看 1.2K关注 0票数 1

我是RabbitMQ的新手。我希望有其他服务的“集成事件”。因此,一种为所有微服务提供消息的路由。

但是,如果我已经复制了用于缩放的服务,则不希望所有复制的服务都接收消息。

示例:

 /T5109.2-1988商业商品、商品、商业、金融、商业、金融、金融、商业、金融、商业、金融、金融、商业、金融等行业的产品、商品、商品

服务A>推送消息>>>服务B(不应接收消息,将被复制)

 /T1459.2-1993商品、商品、商业、金融、商业、金融、金融、商业、金融、商业、金融、金融、商业、金融、商业、金融等行业的商品、

我认为这是"routing“和"work queues”的组合,我需要什么?

但我如何才能正确地做到这一点呢?如果您有示例,我使用Node.js或C#。

EN

回答 2

Stack Overflow用户

发布于 2019-11-01 11:13:37

在这种情况下,扩展您的服务(消费者)不是问题。相反,这是队列工作方式的一个特性。

简而言之,一个服务实例从一个队列中消费,或者10个实例从同一个队列中消费,这都无关紧要。只有一个使用者将从该队列接收相同的消息。将此视为以周知博方式分发的消息。

如果要向多个使用者发送相同的消息,则必须(最终)在单独的队列中发布该消息。也就是说,每个使用者都应该侦听特定的队列,并且exchange会在所有队列上发布消息。法努特交易所可能会在这里工作。

票数 1
EN

Stack Overflow用户

发布于 2019-10-31 17:21:11

我在这里中有我的微服务和DDD信息。瞧一瞧

如果要将事件发布到特殊服务,则应使用服务总线。我用NServiceBus。它是.net中最好的工具。RabbitMQ只是一个队列。在NServiceBus内部,您可以使用许多不同的排队,如RabbitMQ、SqlServer等。

现在,对于您的示例,Service发布一个事件,比方说UserCreated。服务B有一个EventHandler作为UserCreatedEventHandler。然后服务B可以得到任何发布的UserCreated事件。NServiceBus让自动订阅消息路由知道在什么事件上订阅什么服务。他们的文件完美无缺。看看他们

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58648098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档