我有这样的要求: 一旦我的服务收到请求,我需要一次发送2-3个第三方服务器并从所有服务器获得响应并返回响应。
我怎样才能实现这一目标? 我的想法:我可以为不同的服务器创建单独的线程并将请求并行发送到所有服务器,但问题是,我将如何知道线程已完成并整合来自所有服务器的响应并返回给调用者。
春季启动(微服务)还有其他办法吗?。
答案 0 :(得分:0)
您可以利用Spring Framework支持的asyn功能。让我们看一下以下示例,该示例使用Spring的官方指南以异步方式发出多个调用:Async Method
Microserives之间内部通信的另一种可能解决方案是使用消息队列。
答案 1 :(得分:0)
您没有指定您正在使用哪种类型的服务。如果它们是HTTP,您可能希望使用一些Enterprise Integrations抽象(最流行的是Spring Integration和Apache Camel)。
如果您不想在您的微服务中引入消息总线解决方案,您可能需要查看AsyncRestTemplate