요즘 Spring Cloud 공부를 하며 OpenFeign를 알게되었다. 그래서 이참에 HTTP 통신 방식 3가지인 RestTemplate, WebClient, OpenFeign에 대해 공부해보도록 하고, 각각 어디에 적용하면 좋을지에 대한 간단한 생각을 정리할 것이다.
RestTemplate, WebClient, OpenFeign에 대한 특징들과 구현방법은 깔끔하게 정리되어있는 아래 글을 추천한다.
RestTemplate은 구설수가 많은 아이이다. 자세한 내용은 아래를 참고하자.
RestTemplate에 대한 내 생각은 편리한 통신 방식이긴 하지만 WebClient를 이용하는 것이 더 나은 확장성을 제공하기 때문에 WebClient를 사용한다.
그렇다면 WebClient와 OpenFeign 중에 선택해야한다. 둘다 프로젝트에 적용하면서 사용해보았지만 장단점이 명확해서 결정하기 힘들다. 오래 고민해보았지만 해당 결론은 아래에 간단하게 서술하며 마치겠다.