6.5 서비스 디스커버리를 이용한 서비스 검색
이 절에서는 라이선싱 서비스가 조직 서비스 위치를 직접적으로 알지 못해도 조직 서비스를 호출할 수 있는 방법을 설명한다. 라이선싱 서비스는 유레카를 이용하여 조직 서비스의 물리적 위치를 검색한다.
서비스 디스커버리를 위해 서비스 소비자가 스프링 클라우드 로드 밸런서(Spring Cloud Load Balancer)와 상호 작용할 수 있는 세 가지 다른 스프링/넷플릭스 클라이언트 라이브러리를 살펴볼 것이다. 이를 위해 로드 밸런서와 상호 작용하고자 추상화 수준이 가장 낮은 단계에서 높은 단계의 라이브러리로 이동할 것이다. 검토할 라이브러리는 다음과 같다.
• 스프링 Discovery Client
• REST 템플릿을 사용한 스프링 Discovery Client
• 넷플릭스 Feign 클라이언트
각 클라이언트를 살펴보고 라이선싱 서비스 입장에서 사용 방법을 확인하자. 클라이언트의 세부 내용으로 들어가기 전에 코드에 몇 가지 편리한 클래스와 메서드를 작성했다. 이 예제에서는 동일한 서비스 엔드포인트를 사용하여 여러 클라이언트 타입을 적용해 볼 수 있다.