목차
Fegin
async/non-blocking
retry
Java 기본 HttpClient 사용시 문제점
의존성
Spring Boot property 설정
참조
참조
Fegin
Feign - makes writing java http clients easier
Feign Reactive
Feign
Project Reactor
,
RxJava
support
Feign-Reactive
비공식 Feign -
Spring WebFlux
지원
HTTP Api 호출 client를 Spring Data 처럼 interface 작성만으로 가능한 수준으로 만들어준다.
see
Spring RestTemplate
WebClient
async/non-blocking
openfeign 10.8 버전부터 Async 를 지원하고, 그 구현체로 non-blocking 인 Java 11 HTTP Client 와 Async
Apache Http Client
등을 지원한다.
retry
Retrying Feign Calls | Baeldung
Java 기본 HttpClient 사용시 문제점
Java 17 미만 버전의 HttpClient 에는
synchronized
메소드를 호출해서 동시에 요청이 몰릴경우 성능저하 이슈가 있음.
Java HttpClient
사용시 Java 17 이상 버전을 사용하고 “주의” 항목을 보고 사용
Apache Http Client
5 이상을 사용할 것.
의존성
implementation
(
"io.github.openfeign:feign-hc5"
)
Spring Boot property 설정
feign.httpclient.hc5.enabled
:
true
참조
Feign 코드 분석과 서버 성능 개선
참조
Intro to Feign | Baeldung
우아한 feign 적용기 - 우아한형제들 기술 블로그
feign 좀더 나아가기 - 우아한형제들 기술 블로그
7. Declarative REST Client: Feign
(Spring Cloud) Feign
[feign] open feign 설정 시 주의점 (@Configuration)
Introduction to Spring Cloud OpenFeign | Baeldung
How To Customize Feign’s Retry Mechanism | by Ruhshan Ahmed Abir | Medium
[MSA] Spring Cloud Feign - With Hystrix
File Upload With Open Feign | Baeldung
Retrying Feign Calls | Baeldung
Declarative Clients in Spring by Rossen Stoyanchev and Olga Maciaszek-Sharma @ Spring I/O 2022 - YouTube
: Spring Framework 6.x 와 feign 및 기타 Client Proxy Interface