심화/MSA

[MSA] FeignClient vs WebClient

annovation 2025. 11. 21. 21:55

MSA 환경에서 서비스 간 통신 방법

 

💡FeignClient

  • REST API 호출을 위한 선언적(declarative) HTTP 클라이언트
@FeignClient(name = "productClient", url = "http://localhost:8080")
public interface ProductClient {
    @GetMapping("/products")
    List<Product> getProducts();
}

 

💡WebClient

  • Spring 5에서 도입된 리액티브(reactive) HTTP 클라이언트
WebClient.create("http://localhost:8080")
    .get()
    .uri("/products")
    .retrieve()
    .bodyToFlux(Product.class);

출처

https://www.baeldung.com/spring-boot-feignclient-vs-webclient