【问题标题】:Spring Cloud Feign Non blocking I/O or Asynchronous CallSpring Cloud Feign 非阻塞 I/O 或异步调用
【发布时间】:2017-11-14 11:54:11
【问题描述】:

我正在使用 Spring 云平台开发微服务,其中 service1 调用多个其他微服务,例如service2、service3、service 4 等。这些服务可以并行调用,service1 将聚合结果。我可以使用 Spring cloud feign (http://cloud.spring.io/spring-cloud-static/Dalston.SR1/#spring-cloud-feign) 来生成 rest 客户端并异步调用服务还是应该使用 Spring 4 AsyncRestTemplate 来异步调用服务?

【问题讨论】:

  • 你有没有想过这是否可能
  • 使用 EnableAsync 启用异步。使用 feign 调用 Rest 服务的方法应该使用 @Async 进行注解。使用 CountDownLatch 检查是否所有调用都已完成

标签: spring spring-cloud-netflix spring-cloud-feign


【解决方案1】:

我使用 CompletableFuture 使用 feign 客户端将异步调用链接到多个微服务,但最终没有成功。请通过以下链接了解更多信息。我的理解是 - Feign 不是为异步调用或零拷贝 i/o 设计的。

https://github.com/OpenFeign/feign/issues/361

【讨论】:

  • 有没有办法用feign异步调用。
  • 我认为您应该使用 spring webflux 中的 WebClient.Builder 进行异步调用
猜你喜欢
  • 2018-04-06
  • 2011-09-16
  • 2012-05-21
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
  • 2020-05-24
  • 1970-01-01
相关资源
最近更新 更多