Bigtable 구독 문제 해결

이 문서에서는 Bigtable 구독 문제 해결 팁을 제공합니다.

구독을 만들거나 업데이트할 수 없음

Bigtable 구독을 만들거나 업데이트하려고 할 때 다음과 같은 오류가 발생할 수 있습니다.

권한 거부됨 오류

Bigtable 인스턴스 또는 테이블이 없거나 구성된 서비스 계정에 액세스 권한이 없는 경우 권한 거부됨 오류가 발생합니다.

문제 해결 방법은 다음과 같습니다.

column family 누락

Bigtable 테이블에 올바른 column family가 없으면 INCOMPATIBLE_SCHEMA 오류가 발생합니다.

이 오류는 다음과 같은 문제로 인해 발생할 수 있습니다.

  • 테이블에 data column family가 없습니다.
  • 메타데이터 쓰기 가 사용 설정되어 있고 테이블에 pubsub_metadata column family가 없습니다.

문제를 해결하려면 필요한 column family를 만듭니다. 자세한 내용은 column family 추가를 참조하세요.

구독에서 데이터를 쓰지 않음

Bigtable 구독에서 데이터를 쓰지 않는 경우 구독 상태를 확인하려면 gcloud beta pubsub subscriptions describe 명령어를 실행합니다.

gcloud beta pubsub subscriptions describe SUBSCRIPTION_ID

SUBSCRIPTION_ID을 구독 이름으로 바꿉니다.

bigtableConfig.state 필드에 상태가 포함되어 있습니다. 구독이 Bigtable에 메시지를 쓸 준비가 되면 상태는 ACTIVE입니다. 그렇지 않으면 구독에서 Bigtable 테이블에 메시지를 쓰지 못하도록 하는 구성에 오류가 있습니다.

구성 문제에는 다음이 포함될 수 있습니다.

구독이 오류 상태인 동안에는 Bigtable 테이블에 메시지를 쓰지 않습니다. 메시지는 구독 백로그에 남아 있으며, 구성된 경우에도 데드 레터 주제로 전송되지 않습니다. 미확인 메시지는 구독의 메시지 보관 기간 동안 보관됩니다.

문제가 해결되면 구독이 결국 정상 상태로 돌아갑니다.

백로그 증가

구독 상태가 ACTIVE이지만 구독에 메시지 백로그가 증가하거나 메시지가 구독의 데드 레터 주제로 이동하는 경우 다음 문제를 찾아보세요.

게시 속도가 용량을 초과함

주제에 메시지를 게시하는 속도가 Bigtable 클러스터의 용량을 초과하면 구독에 백로그가 쌓일 수 있습니다.

메시지 순서 지정에는 성능 절충이 따릅니다. 순서 지정과 함께 Bigtable 구독을 사용하면 처리량이 낮아지거나 메시지 전송 지연 시간이 길어질 수 있습니다. 순서 지정을 사용 설정한 상태에서 성능 문제가 발생하면 핫키를 방지하기 위해 적절한 세분화된 순서 지정 키를 사용하거나 순서 지정을 요구하지 않도록 애플리케이션을 수정해야 합니다. 자세한 내용은 순서 지정된 메시지 사용 시 고려사항을 참조하세요.

클러스터의 성능을 모니터링하고 클러스터 크기를 늘리는 것이 좋습니다. 자세한 내용은 Bigtable 문서의 다음 주제를 참조하세요.

리전 간 트래픽

애플리케이션이 Bigtable 클러스터와 다른 리전에서 주제에 게시하는 경우 동일한 리전에서 게시하는 것보다 각 메시지를 게시하는 데 시간이 더 오래 걸립니다. 게시 시간이 길어지면 구독에서 Bigtable에 메시지를 쓰는 속도가 줄어들어 총 처리량이 줄어듭니다.

메시지를 게시하는 데 걸리는 시간을 최소화하려면 Bigtable 클러스터와 동일한 리전에 게시해야 합니다.

다음 단계

  • Bigtable 구독 문제가 계속되면 지원 받기를 참조하세요.