Kri*_*ish 5 asynchronous spring-rabbit spring-boot microservices
我是 Spring Boot 的新手并创建了 2 个微服务。它们需要以同步和异步方式相互通信。对于同步通信,我可以使用 RestTemplate。但是异步调用怎么办呢?我对异步的要求是:假设我正在从一个微服务中查询某些内容。由于查询大量数据,要获取查询的数据需要一些时间。在这种情况下,我需要将请求保存到某个事务表中,并返回带有 transactionId 和 callBackAPI 的响应。一段时间后,如果我使用 transactionId 调用 callBackAPI。那么我应该能够获得之前查询的数据。
请帮我解决一下这个。
谢谢。
两种解决方案:
来自客户端的异步调用: Spring 提供了 RestTemplate 的异步版本: AsyncRestTemplate 通过此解决方案,您的客户端是异步的,您不需要将数据存储在具有事务 id 和内容的表中。
使您的端点异步(如果您不需要响应): Spring 允许您创建可以从 RestController 调用的异步方法(服务) 。使用此解决方案,您可以执行问题中描述的操作(创建并存储将直接返回给客户端并启动异步作业的事务 ID)。
| 归档时间: |
|
| 查看次数: |
3244 次 |
| 最近记录: |