-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
👀 어떤 기능인가요?
MSA 환경에서 서비스 간 통합 테스트를 진행하기 위해 WebClient와 OpenFeign을 혼합하여 사용하는 기능을 구현해야 합니다. WebClient의 비동기 처리와 OpenFeign의 간편한 인터페이스 기반 호출 방식을 적절히 결합하여 하이브리드 테스트 환경을 구성합니다.
✨ 작업 상세 내용
- WebClient를 사용하여 비동기 통신을 구현하고, 서비스 응답 시간 최적화
- OpenFeign을 사용하여 REST API 호출을 단순화하고, 서비스 간 호출 인터페이스 정의
- WebClient와 OpenFeign이 통합된 하이브리드 방식으로 테스트 케이스 작성
- 통합 테스트 환경에서 서비스 호출 로직 검증 및 에러 핸들링 추가
😀 장단점 정리
- 온프레미스 → 온프레미스 통신 : OpenFeign
- 내부 네트워크 통신이므로 네트워크 지연이 적음 → 동기 방식 사용 가능
- 선언적 방식으로 인터페이스만으로 구현 가능 → 코드 간결성
- 온프레미스 → 퍼블릭 클라우드 통신 : WebClient
- 외부 네트워크 통신으로 지연이 발생할 수 있음 → 비동기 방식이 유리
- 네트워크 타임아웃, 재시도 등의 세밀한 제어 가능
- 리액티브 스트림을 통한 백프레셔 처리
- 효율적인 리소스 사용 (비동기 non-blocking)
- 다양한 에러 처리와 복구 전략 구현 용이
- 퍼블릭 클라우드 → 온프레미스 통신 : WebClient or resttemplate
- VPN/전용선을 통한 통신이지만 외부에서의 접근이므로 보안 고려 필요
- 다양한 보안 설정과 헤더 처리가 용이
- 트래픽 제어와 모니터링이 용이
- 비동기 처리로 클라우드 리소스 효율적 사용
- 서비스 메시(예: Istio)와의 통합이 용이
🍰 참고할만한 자료(선택)
- WebClient 사용 문서: Spring WebFlux WebClient 공식 문서
- OpenFeign 사용 문서: OpenFeign 공식 문서
- MSA 테스트 사례: MSA 환경에서 비동기 호출과 동기 호출 간의 장단점 및 사례 연구 자료
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request