• 회복성(resilient): 서비스 디스커버리 클라이언트는 서비스 정보를 로컬에 캐싱(caching)해야 한다. 로컬 캐싱은 서비스 디스커버리 기능이 점진적으로 저하되는 것을 고려했기 때문에 서비스 디스커버리 서비스가 가용하지 않아도 애플리케이션은 여전히 작동할 수 있고 로컬 캐시에 저장된 정보를 기반으로 서비스를 찾을 수 있다.
• 결함 내성(fault tolerant): 서비스 디스커버리가 비정상 서비스 인스턴스를 탐지하면 클라이언트 요청을 처리하는 가용 서비스 목록에서 해당 인스턴스를 제거해야 한다. 서비스를 이용하여 이러한 결함을 탐지하고 사람의 개입 없이 조치되어야 한다.
다음 절에서 다룰 내용을 요약하면 다음과 같다.
• 클라우드 기반 서비스 디스커버리 에이전트의 작동 방식에 대한 개념적 아키텍처 소개
• 서비스 디스커버리 에이전트를 가용하지 못한 경우에도 클라이언트 측 캐싱과 부하 분산을 이용하여 서비스를 계속 동작하게 만드는 방법
• 스프링 클라우드와 넷플릭스 유레카(Eureka) 서비스 디스커버리 에이전트를 사용한 서비스 디스커버리 구현 방법