微服务架构中服务之间进行通信的最佳方式?

时间:2019-09-13 07:08:04

标签: node.js microservices

我在nodejs中有2个微服务。一个用户,另一个是课程。用户服务会保留用户信息以及注册课程ID。

在用户列表中,我需要显示用户信息+课程信息。

我该如何在微服务体系结构中实现此功能,这样我就不必等待用户查询返回课程ID和从课程服务中获取课程信息并将结果组合并返回?

我是微服务的新手。

1 个答案:

答案 0 :(得分:0)

您可以通过两种不同的方式来实现inter-service communication

  1. Synchronous-直接调用其他服务的REST API
  2. Asynchronous-使用Kafka或RabbitMQ(非阻塞)实现异步消息传递

两种方式都有其优点和缺点。

我在Microservices架构上工作了近一年,我正在使用RabbitMQ消息传递代理。如果您想要高度可靠,高度可用和快速的通信模式,则必须仅使用异步方式。