Общайтесь между микросервисами напрямую, используя DI - PullRequest
0 голосов
/ 08 октября 2019

Я провел небольшое исследование и нашел несколько способов взаимодействия между микросервисами:

  • RestTemplate (WebClient для реактивного стека)
  • Feign клиента с использованием Spring Cloud и Eureka

Минусы RestTemplate очевидны: вы жестко закодировали URL службы. Feign клиент лучше, но вы все еще повторяете код создания прокси-контроллера с аннотацией @FeignClient.

Я хотел бы знать, есть ли обходной путь для использования контроллера целевой службы с внедрением зависимостей, например:

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

    @Autowired
    private BController bController;

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

}
...