我一直在阅读有关微服务的信息,并且在JonasBonér的反应性微服务架构中发现了很多有趣的建议(可以免费下载here)。他强调需要在miroservices之间进行异步通信,但他表示外部客户端的API有时需要同步(通常是REST)。同步公共API如何与基于消息的服务集成?
我一直在想如何从微服务发回的异步响应消息应该最好路由回等待的客户端。对我来说,最明显的方法是在处理请求时发送的所有消息中记录请求标识,然后将此标识复制到服务发送的响应消息中。在最终将响应发送给客户端之前,公共API将在处理请求时阻塞,收集所有具有匹配id的预期响应消息。
我在这里的权利线?有更好的方法吗?做任何框架都需要从开发者手中进行这种路由(我正在研究Spring Cloud Streams等,但其他人也会很感兴趣)?