목록 보기
openfeign 소개와 운영 서버 적용기
백엔드

openfeign 소개와 운영 서버 적용기

what's min
what's min
2024년 7월 9일

두줄요약

Monolithic에서 MSA로 전환하며 복잡해진 서비스 간 통신을 OpenFeign으로 단순화하는 방법을 소개했습니다. 선언적 클라이언트와 공통 설정으로 헤더, 재시도, 타임아웃을 운영 환경에 적용하는 구성을 다뤘습니다.

핵심 내용

  • Monolithic Architecture에서 MSA로 전환하며 다수 WAS 간 통신이 복잡해질 때, RestTemplate보다 Feign이 코드 가독성과 사용성을 높이는 대안으로 소개
  • Feign은 Spring MVC 스타일 애노테이션으로 API 호출을 선언적으로 작성할 수 있고, Client-side Loadbalancing, Retry, Timeout, Request Header 설정을 함께 다루기 쉬움
  • @EnableFeignClients, @FeignClient, RequestInterceptor, Retryer, Request.Options, Logger.Level 등으로 운영 서버 적용 구성을 설명
  • Request Header는 Configuration 또는 메서드 애노테이션으로 지정할 수 있고, Eureka와 Resilience4j, Spring Cloud Loadbalancer 연계도 언급

적용해볼 점

  • 반복적인 REST 호출 코드를 Feign 인터페이스로 추상화해 호출부 단순화
  • 공통 헤더, 재시도, 타임아웃, 로깅 정책을 Configuration으로 분리해 일괄 관리
  • 서비스 디스커버리와 회복탄력성 설정을 함께 묶어 MSA 통신 안정성 강화

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...