使用DI直接在微服务之间进行通信

时间:2019-10-08 07:17:20

标签: spring-boot microservices spring-cloud netflix-eureka spring-cloud-feign

我进行了一些研究,发现了多种在微服务之间进行通信的方法:

  • RestTemplate(反应式堆栈的WebClient)
  • 使用Spring Cloud和Eureka的虚假客户端

RestTemplate的缺点很明显:您可以硬编码服务URL。伪装的客户端更好,但您仍然需要重复使用@FeignClient注释创建代理控制器的代码。

我想知道是否有任何变通办法可以将目标服务的控制器与依赖项注入一起使用,如下所示:

(service A) --> (service B)
public class AService {

    @Autowired
    private BController bController;

    public get() {
        //calling this method should invoke http request
        bController.get();
    }

}

0 个答案:

没有答案