Traffic Director 부하 분산

Traffic Director는 사이드카 프록시가 포함된 내부의 마이크로서비스에 글로벌 부하 분산을 제공합니다. 여러 리전의 인스턴스로 내부 마이크로서비스(사이드카 프록시 기반)를 배포할 수 있습니다. Traffic Director는 사이드카 프록시에 상태, 라우팅, 백엔드 정보를 제공하므로 사이드카 프록시는 서비스의 여러 클라우드 리전에 있는 애플리케이션 인스턴스로 트래픽을 적절히 라우팅할 수 있습니다.

다음 그림에서 사용자 트래픽은 외부 글로벌 부하 분산기를 통해 Google Cloud 배포에 들어갑니다. 외부 부하 분산기는 최종 사용자의 위치에 따라 us-central1 또는 asia-southeast1의 프런트엔드 마이크로서비스에 트래픽을 분산합니다.

내부 배포에는 Front End, Shopping Cart, Payments라는 세 개의 글로벌 마이크로서비스가 있습니다. 각 서비스는 us-central1asia-southeast1의 두 리전에 있는 관리형 인스턴스 그룹에서 실행됩니다. Traffic Director가 사용하는 글로벌 부하 분산 알고리즘은 캘리포니아의 사용자가 보내는 트래픽은 us-central1에 배포된 마이크로서비스로, 싱가포르의 사용자가 보내는 요청은 asia-southeast1의 마이크로서비스로 전달됩니다.

들어오는 사용자 요청은 Front End 마이크로서비스로 라우팅됩니다. Front End 호스트에 설치된 서비스 프록시는 트래픽을 Shopping Cart로 전달하고 Shopping Cart 호스트에 설치된 사이드카 프록시는 트래픽을 Payments 마이크로서비스로 전달합니다.

글로벌 부하 분산 배포의 Traffic Director(확대하려면 클릭)
글로벌 부하 분산 배포의 Traffic Director(확대하려면 클릭)

다음 예시에서 Traffic Director가 us-central1에서 Shopping Cart 마이크로서비스를 실행하는 VM이 비정상임을 나타내는 상태 확인 결과를 수신할 경우 Traffic Director는 프런트엔드 마이크로서비스에 대해 사이드카 프록시에 asia-southeast1에서 실행되는 Shopping Cart 마이크로서비스로 트래픽을 대체 작동하도록 지시합니다. 자동 확장은 Google Cloud의 트래픽 관리와 통합되므로 Traffic Director는 asia-southeast1의 관리형 인스턴스 그룹에 추가 트래픽을 알리고 관리형 인스턴스 그룹의 크기를 늘립니다.

Traffic Director는 Payments 마이크로서비스의 모든 백엔드가 정상임을 감지합니다. 따라서 Traffic Director는 Shopping Cart의 Envoy 프록시가 트래픽의 일부를 고객이 설정한 용량까지 asia-southeast1으로 보내고 나머지는 us-central1로 오버플로하도록 지시합니다.

글로벌 부하 분산 배포의 Traffic Director 장애 조치(확대하려면 클릭)
글로벌 부하 분산 배포의 Traffic Director 장애 조치(확대하려면 클릭)

Traffic Director의 부하 분산 구성요소

Traffic Director 설정 중에는 여러 부하 분산 구성요소를 구성합니다.

  • VIP 주소를 포함하는 전역 전달 규칙 대상 프록시 및 URL 맵입니다. 이러한 모든 기능은 Traffic Director의 트래픽 라우팅 메커니즘의 일부입니다. 대상 프록시는 대상 HTTP 프록시여야 합니다.
  • 구성값이 포함된 백엔드 서비스
  • 배포에서 VM 및 pod에 대한 상태 확인을 제공하는 상태 확인

다음 다이어그램은 Compute Engine VM 또는 Google Kubernetes Engine pod, 구성요소, Traffic Director 배포의 트래픽 흐름에서 실행되는 애플리케이션을 보여줍니다.

구성할 Traffic Director 리소스(확대하려면 클릭)
구성할 Traffic Director 리소스(확대하려면 클릭)

이 다이어그램은 Traffic Director 및 트래픽 라우팅을 결정하는 데 사용하는 Google Cloud 부하 분산 리소스를 보여줍니다. 표시된 Envoy와 같은 xDS API 호환 사이드카 프록시는 클라이언트 VM 인스턴스 또는 Kubernetes pod에서 실행됩니다. Traffic Director는 제어 영역의 역할을 하며 xDS API를 사용하여 각 프록시와 직접 통신합니다. 데이터 영역에서 애플리케이션은 Google Cloud 전달 규칙에 구성된 VIP 주소로 트래픽을 전송합니다. 사이드카 프록시는 트래픽을 가로채서 해당 백엔드로 리디렉션합니다. 서비스 검색 및 트래픽 가로채기에 대한 자세한 내용은 Traffic Director 서비스 검색을 참조하세요.