【发布时间】:2020-07-23 04:44:58
【问题描述】:
我们计划将 pub-sub 和 request-reply 通信模型引入我们的 micriservices 架构。两种通信模型都需要。
其中一个解决方案可能是使用 RabbitMQ,因为它可以提供两种模型并提供 HA、集群和其他有趣的功能。
RabbitMQ 请求-回复模型需要使用队列,用于输入和输出消息。只有一个服务可以从输入队列中读取数据,这增加了耦合度。
对于在同一系统中同时使用请求-回复和发布-订阅通信模型,还有其他推荐的解决方案吗? 服务网格会是更好的选择吗?
需要node.js、python和.净核心。
感谢您的帮助
【问题讨论】:
-
你为什么不让你的mircoservice为
request-reply公开一个rest API并使用RabbitMQ作为pub-sub? -
RabbitMQ 可以提供负载均衡,开箱即用的高可用性。它还可以处理网络错误、重新连接等。 HTTP/REST 更容易调试,但实现冗余/ha 支持需要做很多工作。
标签: rabbitmq microservices publish-subscribe request-response