Application Modernization/Service Mesh
OpenFeign 간단 예제
Cloud Applicaiton Architect
2021. 9. 1. 09:04
반응형
이 포스팅은 2020년 본인 소유의 네이버 블로그에 올린 글을 재 포스팅하는 글 입니다.
OpenFeign Demo
이번 예제는 OpenFeign을 이용해 간단한 호출을 해보는 예제입니다.
- OpenFeign에 대한 개념이 필요하신 경우 아래를 참조합니다.
OpenFeign 이란?
이 글은 2020년 본인 소유 네이버 블로그에 포스팅한 글을 가져와 재 포스팅한 내용입니다. 지금은 중국 알리바바로 옮겼지만 한때 Pivotal China에서 일했었고 나와는 5개월 정도 함께 일했었던 '리
sharplee7.tistory.com
예제에 사용될 프로젝트 구조는 아래와 같습니다.
OpenFeign Demo 시나리오
- 8081로 기동되는 Caller서비스와 8082로 기동되는 Callee서비스가 있습니다.
- Caller에는 /greet/라는 RESTful API가 있습니다.
- Caller의 /greet/ 호출 시 Greeting이라는 name과 message를 속성을 가진 json을 이용합니다.
- Caller의 /greet/ 리턴 값은 Courtesy라는 name과 message를 속성으로 가지는 JSON입니다.
- Caller의 Courtesy는 CalleeFeignClient라는 OpenFeign을 이용해 Callee로부터 받아 옵니다.
- Caller의 FeignClient는 connectionTimout과 readTimeout을 설정해 fallback처리 할 수 있습니다.
- fallback처리는 FallBackFactory클래스를 구현해 처리합니다.
- Callee는 courtesy라는 RESTful API를 가지고 있습니다.
- Callee의 courtesy는 name과 message를 가지는 Greeting JSON 객체를 받아 그에 대한 화답으로 보내는
JSON객체 입니다.
- Caller와 Callee는 Swagger를 통해 테스트를 진행 합니다.
- Swagger 및 domain(Greeting과 Courtesy)클래스들은 common-lib라는 별도의 프로젝트로 관리 됩니다.
테스트
- openfeign-demo 프로젝트를 사용하시는 IDE에 gradle project로 import한 후 build 합니다.
- CallerApplicaitonMain과 CalleeApplicationMain을 각각 실행시킵니다.
- 브라우저를 통해 Caller 서비스에 접속 합니다. (http://localhost:8081/swagger-ui.html)
- /greet/ RESTful API를 클릭 후 name을 입력 후 tryout을 클릭합니다.
- Caller의 greet을 통해 Callee의 courtesy가 호출 되 것을 확인합니다.
이 프로그램의 소스는 다음의 git에서 확인 할 수 있습니다.
GitHub - sharplee7/openfeign-demo
Contribute to sharplee7/openfeign-demo development by creating an account on GitHub.
github.com
끝~
반응형