Cloud Dataflow로 Cloud Pub/Sub Seek 사용

Pub/Sub Seek을 사용하면 사용자가 이전에 확인된 메시지를 다시 보거나 다시 처리하거나 여러 메시지를 한 번에 확인할 수 있습니다. 그러나 실행 중인 Dataflow 파이프라인에서 Pub/Sub Seek에 직접 액세스하는 것은 권장하지 않습니다. 직접 액세스하면 Dataflow의 워터마크 로직이 무효화되고 한 번에 처리 시 제대로 작동하지 않습니다. 또한 직접 액세스하면 처리된 데이터가 포함된 파이프라인 상태와 충돌하게 됩니다.

다음 워크플로와 함께 Pub/Sub Seek을 사용하는 것이 좋습니다.

  1. 구독 스냅샷을 만듭니다.
  2. Dataflow에서 구독 메시지를 드레이닝합니다.
  3. 파이프라인을 다시 시작합니다.

스냅샷 생성

구독 스냅샷에서 처리를 탐색 및 다시 실행합니다. gcloud 명령줄 도구를 사용하여 이 스냅샷을 만들려면 다음 명령어를 실행합니다.

alias pubsub='gcloud pubsub'
pubsub snapshots create my-snapshot --subscription=seek-demo-sub

다음 명령어를 실행하여 스냅샷이 생성되었는지 확인합니다.

pubsub snapshots list

구독 드레이닝

구독을 드레이닝하고 파이프라인을 다시 시작하려면 다음 단계를 따르세요.

  1. Dataflow 콘솔로 이동하여 스트리밍 파이프라인을 클릭합니다.
  2. 요약 창에서 작업 중지를 클릭합니다.
  3. 드레이닝을 선택하여 이동 중인 메시지 처리를 허용하고 작업이 종료될 때까지 기다립니다.
  4. gcloud 명령줄 도구를 사용하여 스냅샷 구독을 탐색합니다.
    pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
    
  5. Dataflow 파이프라인을 다시 시작합니다.