何时使用RESTAPI,何时使用消息服务(如RabbitMQ)在微服务之间交换数据?

何时使用RESTAPI,何时使用消息服务(如RabbitMQ)在微服务之间交换数据?,rabbitmq,microservices,Rabbitmq,Microservices,我正在使用微服务体系结构构建一个系统,使用RabbitMQ作为消息传递服务。 我有两个服务之间通信的用例,并且面临使用RabbitMQ实现它的困难 购物车服务需要从产品服务获取数据。在这种情况下,购物车服务可以发送消息,产品服务订阅该消息。但我发现产品服务无法将数据发送回购物车服务 您可以让我知道我在这种情况下使用RabbitMQ的方法是否正确吗? 我应该在这个用例中应用任何其他方法? 提前感谢。对rabbitMQ消息路由使用事件驱动的命名约定。格式可以是。我可以知道在这个用例中使用同步的HTT

我正在使用微服务体系结构构建一个系统,使用RabbitMQ作为消息传递服务。 我有两个服务之间通信的用例,并且面临使用RabbitMQ实现它的困难

购物车服务需要从产品服务获取数据。在这种情况下,购物车服务可以发送消息,产品服务订阅该消息。但我发现产品服务无法将数据发送回购物车服务

您可以让我知道我在这种情况下使用RabbitMQ的方法是否正确吗? 我应该在这个用例中应用任何其他方法?
提前感谢。

对rabbitMQ消息路由使用事件驱动的命名约定。格式可以是

我可以知道在这个用例中使用同步的HTTP协议是否更好吗?稍后我会考虑,当我们有多个cart服务容器时,接收“product.product.read”的实例不是正确的实例。例如,cart服务的实例1发布,但cart服务的实例2接收来自产品服务的消息。RESTful API在这种1对1微服务通信的情况下应该可以很好地工作。另一方面,如果您需要连接更多对产品相关事件做出反应的服务(例如,通知服务),那么与添加额外的订户服务相比,您需要向现有服务之一添加更多逻辑。无论如何,如果它是一个明确的同步一对一请求/响应,那么使用API,否则使用MessageBroker。