0

我一直在阅读有关微服务的信息,并且在JonasBonér的反应性微服务架构中发现了很多有趣的建议(可以免费下载here)。他强调需要在miroservices之间进行异步通信,但他表示外部客户端的API有时需要同步(通常是REST)。同步公共API如何与基于消息的服务集成?

我一直在想如何从微服务发回的异步响应消息应该最好路由回等待的客户端。对我来说,最明显的方法是在处理请求时发送的所有消息中记录请求标识,然后将此标识复制到服务发送的响应消息中。在最终将响应发送给客户端之前,公共API将在处理请求时阻塞,收集所有具有匹配id的预期响应消息。

我在这里的权利线?有更好的方法吗?做任何框架都需要从开发者手中进行这种路由(我正在研究Spring Cloud Streams等,但其他人也会很感兴趣)?

回答

0

他强调 miroservices之间的异步通信的需要,但是他说,对于外部客户端的API有时需要 是同步的(通常REST)。

当与客户打交道 - 后端通信,你可以有几个类型的操作,我们应seperetly处理(看看CQS想法):

  • 状态更改操作 - 他们应该使用消息传递(它可以是客户端调用HTTP API和调度消息的API)

  • 读操作:同步(请求响应)操作(使用HTTP API),这不是涉及任何messa ging有什么如此

这有道理吗?

相关问题