【发布时间】:2018-03-17 00:58:46
【问题描述】:
我是 Spring Boot 新手并创建了 2 个微服务。 他们需要以同步和异步的方式相互通信。 对于同步通信,我可以使用 RestTemplate。 但是异步调用怎么办? 我对异步的要求是: 假设我正在从一项微服务中查询某些内容。由于要查询大量数据,因此要获取查询的数据需要一些时间。 在这种情况下,我需要将请求保存到某个事务表中,并返回带有 transactionId 和 callBackAPI 的响应。一段时间后,如果我用 transactionId 调用 callBackAPI。那么我应该可以得到之前查询到的数据了。
请帮帮我。
谢谢。
【问题讨论】:
-
@Krishna 您可能应该更新您的问题并定义异步通信的含义。异步对不同的人可能意味着不同的事情,尤其是在系统设计的上下文中。如果您的意思是您需要在系统之间交换 消息 并避免使用请求-响应范例(如 HTTP 调用),那么您将需要某种消息代理(如 RabbitMQ)
-
@geo 我已经更新了票。请帮忙
-
@Krishna 据我所知,没有现成的解决方案可以满足您的需求。你需要自己动手:)
标签: asynchronous spring-boot microservices spring-rabbit