Rabbitmq仅向一项服务发送消息

时间:2021-07-30 09:04:49

标签: rabbitmq microservices rabbitmq-exchange

我正在微服务模型上构建我的应用程序。

让我们说

  • 服务器 D1 上有一个数据库
  • 有一个用户服务托管在服务器 U1 上
  • 服务器 N1 上有一个通知服务
  • 服务器 R1 上有一个 rabbitmq 服务

通知服务向rabbitmq服务发布消息,然后将消息分派给用户服务,用户服务监听rabbitmq服务,接收消息并将一些数据写入数据库。

这很好用!

问题是,如果我将用户服务扩展到另一台服务器,比如 U2,这意味着用户服务现在在两台服务器上运行,即 U1 和 U2(由 nginx 负载均衡器支持),并且两个用户服务现在都在监听 rabbitmq服务,将接收从通知服务发送的消息,并且两者都将写入数据库(我不想要)。我只想要一个用户服务,即 U1 或 U2 将数据写入数据库。

所以,我想知道 rabbitmq 是否可以将消息发送到任何一个用户服务而不是两者?还是我完全使用了错误的方法?

0 个答案:

没有答案