서비스 디스커버리 (Service Discovery)

개념

서비스 디스커버리(service discovery)는 서비스를 구성하는 개별 인스턴스를 찾는 프로세스이다. 서비스 디스커버리 도구는 서비스를 구성하는 다양한 노드 또는 엔드포인트를 지속적으로 추적한다.

다루는 문제

클라우드 네이티브 아키텍처(cloud native architecture)는 동적이고 유동적이며, 이는 지속적으로 변화하고 있음을 의미한다. 컨테이너화된 앱은 수명(lifetime) 동안 여러 번 시작되고 중지될 수 있다. 그럴 때마다, 앱(app)에 새로운 주소가 부여될 수 있으므로 이를 찾으려는 다른 앱에게는 새로운 위치 정보를 제공하는 도구가 필요하다.

문제 해결 방식

서비스 디스커버리는 네트워크 내의 앱에 대한 추적을 지속하여 필요시 서로를 찾을 수 있다. 이는 서비스들에 대한 공통된 공간을 제공하여, 개별 서비스들이 잠재적으로 식별 및 검색될 수 있도록 한다. 서비스 디스커버리 엔진들은 가용한 서비스와 해당 서비스를 찾는 방법에 대한 정보를 저장하는 데이터베이스와 같은(database-like) 도구이다.