플랫폼에 내장된 서비스 디스커버리 패턴 적용
도커나 쿠버네티스 등 최신 배포 플랫폼에는 대부분 서비스 레지스트리, 서비스 디스커버리 메커니즘이 탑재되어 있습니다(12장). 배포 플랫폼은 DNS명, 가상 IP(VIP) 주소, VIP 주소로 해석(resolve, 리졸브)되는 DNS명을 각 서비스마다 부여합니다. 서비스 클라이언트가 DNS명/VIP를 요청하면 배포 플랫폼이 알아서 가용 서비스 인스턴스 중 하나로 요청을 라우팅합니다. 배포 플랫폼이 서비스 등록, 서비스 디스커버리, 요청 라우팅을 전부 관장하는 것입니다(그림 3-6).
서비스 IP 주소를 추적하는 서비스 레지스트리는 배포 플랫폼에 내장되어 있습니다. 그림 3-6에서 클라이언트는 order-service라는 DNS명으로 주문 서비스에 접근하고, 이 DNS명은 가상 IP 주소 10.1.3.4로 해석됩니다. 배포 플랫폼은 자동으로 이 세 주문 서비스 인스턴스에 요청을 분배합니다.
▲ 그림 3-6 플랫폼은 서비스 등록, 디스커버리, 요청 라우팅을 담당한다. 등록기는 서비스 인스턴스를 서비스 레지스트리에 등록한다. 서비스마다 네트워크 위치, 즉 DNS명/가상 IP 주소가 지정된다. 클라이언트는 서비스 네트워크 위치에 요청을 하고, 라우터는 서비스 레지스트리를 질의한 후 가용 서비스 인스턴스들에 고루 요청을 부하 분산한다