Pub/Sub 측정항목을 확장 신호로 사용하기 위한 권장사항

Pub/Sub 측정항목을 파이프라인 자동 확장 신호로 사용하는 경우의 권장사항은 다음과 같습니다.

신호를 2개 이상 사용하여 파이프라인 자동 확장

Pub/Sub 측정항목만 사용하여 파이프라인을 자동 확장하지 마세요. 자동 확장 결정을 위한 단일 장애점이 있는 시나리오가 발생할 수 있습니다. 대신 신호를 조합하여 자동 확장을 트리거합니다. 추가 신호의 예시로는 클라이언트의 CPU 사용률 수준이 있습니다. 이 신호는 클라이언트 태스크가 태스크를 처리하고 있는지, 확장 시 클라이언트 태스크가 더 많은 태스크를 처리할 수 있는지 여부를 나타낼 수 있습니다. 파이프라인에 사용할 수 있는 다른 Cloud 제품의 신호 예시는 다음과 같습니다.

  • Compute Engine(GCE)은 CPU 사용률 및 Monitoring 측정항목과 같은 신호에 따른 자동 확장을 지원합니다. 또한 Compute Engine은 신뢰성 향상을 위해 여러 측정항목과 여러 신호를 지원합니다.

    Monitoring 측정항목으로 확장에 대한 자세한 내용은 Monitoring 측정항목을 기준으로 확장을 참조하세요. CPU 사용률로 확장에 대한 자세한 내용은 CPU 사용률을 기준으로 확장을 참조하세요.

  • Google Kubernetes Engine(GKE) 수평형 포드 자동 확장(HPA)은 CPU 및 메모리 사용량과 같은 리소스 사용량, 커스텀 Kubernetes 측정항목, Pub/Sub의 Monitoring 측정항목과 같은 외부 측정항목을 기준으로 자동 확장을 지원합니다. 또한 여러 신호를 지원합니다.

    자세한 내용은 수평형 포드 자동 확장을 참조하세요.

측정항목 격차가 발생할 경우의 처리 방법

측정항목이 없다고 해서 처리할 메시지가 없다고 가정하지 마세요. 예를 들어 누락된 측정항목에 대한 응답으로 처리 태스크를 0으로 축소하면 이미 백로그에 있는 메시지나 이 시간 동안 게시된 메시지가 소비되지 않습니다. 이렇게 되면 엔드 투 엔드 지연 시간이 늘어납니다. 지연 시간을 최소화하려면 최신 Pub/Sub 측정항목이 빈 큐를 표시하더라도 항상 게시된 메시지를 처리할 준비가 될 수 있도록 최소 태스크 수를 0보다 크게 설정합니다.

GCE 자동 확장 처리와 GKE HPA 모두 측정항목을 사용할 수 없을 때 현재 복제본 수를 유지하도록 설계되었습니다. 이렇게 하면 사용 가능한 측정항목이 없을 때 안전망 역할을 합니다.

또한 Pub/Sub 흐름 제어 메커니즘을 구현하여 누락된 측정항목으로 인해 의도치 않게 축소된 태스크가 과부하되지 않도록 방지할 수 있습니다.