Google Cloud Pub/Sub Telemetry: 경계에서 검증된 행까지
제어된 애플리케이션 경계에서 Google Cloud Pub/Sub Telemetry를 사용하고, 이벤트 계약을 작게 유지하고, 집계 뷰를 구축하기 전에 알려진 결과를 확인하세요.
- 1
결과를 선택하세요
Pub/Sub 전송 안정성
- 2
계약 정의
message_id, message_type, 주제, 구독, ordering_key_category 및 릴리스
- 3
경계 계측
Pub/Sub는 메시지를 재전송할 수 있습니다. 공급자 메시지 ID와 배달 시도를 최종 비즈니스 결과와 별도로 유지하세요.
- 4
증거를 확인하세요
Exercise a known fixture, then inspect pubsub_message_completed for one correctly typed terminal row.
시작하기 전에
전제 조건 및 경계
- @google-cloud/pubsub 및 telemetry-sh는 신뢰할 수 있는 게시자 또는 구독자에서 초기화되었습니다.
- 안정적인 주제, 구독, 메시지 유형 및 논리적 결과 정의
- 멱등성 소비자와 문서화된 승인 또는 정확히 한 번만 수행되는 정책
배송 설정
서버 측 설치 및 초기화
서버 전용 코드에서 telemetry-sh를 가져오고 process.env.TELEMETRY_API_KEY로 한 번 초기화합니다. 브라우저 번들, 클라이언트에 표시되는 환경 변수, 소스 제어, 로그 및 예외 메시지에서 수집 자격 증명을 유지하세요.
npm 설치
npm install telemetry-sh- 1제한된 네트워크 동작을 갖춘 재사용 가능한 서버 측 전달 클라이언트 하나를 준비합니다.
- 2성공, 실패, 재시도 또는 시간 초과 경계에 결과 이벤트를 추가합니다.
- 3알림을 활성화하기 전에 제어된 고정 장치를 보내고 저장된 행을 검사하십시오.
스니펫
하나의 체계적인 이벤트로 시작하세요
워크플로가 완료, 실패 또는 재시도되는 위치에 이 셰이프를 추가합니다. 그런 다음 실제 필드에서 대시보드를 구축합니다.
Google Cloud Pub/Sub Telemetry 이벤트
await telemetry.log("pubsub_message_completed", {
message_id: message.id,
message_type: "account_export",
topic: "account-exports",
subscription: "account-export-worker",
status: "success",
delivery_attempt: message.deliveryAttempt ?? 1,
wait_ms: Date.now() - Number(message.publishTime.getTime()),
duration_ms: Math.round(performance.now() - startedAt),
acknowledged: true,
dead_lettered: false,
service: "export-worker",
release: process.env.APP_RELEASE,
});이벤트 계약
message_id, message_type, 주제, 구독, ordering_key_category 및 릴리스
상태, delivery_attempt, wait_ms, duration_ms, 확인됨 및 error_type
dead_lettered, published_at, account_id, 서비스, 지역 및 환경
구현 체크포인트
체크포인트 1
Pub/Sub는 메시지를 재전송할 수 있습니다. 공급자 메시지 ID와 배달 시도를 최종 비즈니스 결과와 별도로 유지하세요.
체크포인트 2
1회만 전송에는 구독 및 지역 제한이 있으므로 승인 호출에서 유추하는 대신 실제 구성을 확인하세요.
체크포인트 3
애플리케이션 결과 옆에 있는 공급자 백로그 메트릭을 모니터링하고 메시지 데이터, 비공개 콘텐츠가 포함된 속성 또는 무제한 오류를 이벤트에 복사하지 마세요.
검증
이벤트가 도착했음을 증명하세요.
알려진 성공 및 실패 사례를 연습한 후 이를 실행하십시오. 최종 이벤트 계약이 스니펫과 다른 경우 대체 테이블 이름을 바꾸세요.
Google Cloud Pub/Sub Telemetry 확인 쿼리
SELECT *
FROM pubsub_message_completed
ORDER BY timestamp_utc DESC
LIMIT 20;구현 참조
새로운 프로덕션 경로를 활성화하기 전에 이벤트 계약, 데이터 안전 지침, 업스트림 기본 문서를 검토하세요.
프로덕션 경계
결과 이벤트를 작고 복구 가능하게 유지
이 패턴은 다음을 제공합니다.
- 업스트림 워크플로우 옆에 제한된 SQL 지원 결과가 있습니다.
- 대시보드, 알림 및 교차 이벤트 상관 관계를 위한 안정적인 필드입니다.
- 성공, 실패, 재시도 및 시간 초과 동작을 검증하기 위한 고정 장치 기반 경로입니다.
이 패턴은 제공하지 않습니다
- OTLP 내보내기, 자동 수집 파이프라인 또는 자세한 추적 및 진단 로그를 대체합니다.
- 페이로드에 이벤트 ID가 포함되어 있기 때문에 정확히 한 번만 전달됩니다.
- 원시 공급자 페이로드, 사용자 콘텐츠, 자격 증명 또는 규제 데이터를 수집할 수 있는 권한입니다.
이벤트 스키마 시작점
이 워크플로우에 대한 이벤트 계약
쿼리 또는 스니펫을 프로덕션에 적용하기 전에 행 그레인, 방출 경계, 필수 유형, 개인 정보 보호 클래스, 예제 페이로드 및 유효성 검사 체크리스트를 검토하세요.
관련 제품 기능
이 워크플로를 다음에서 계속하세요. 알림
검토된 신뢰성 쿼리를 소유한 임계값 및 응답 워크플로로 승격합니다.
관련 SQL 레시피
SQL로 다음 질문에 답하세요
이 워크플로의 구조화된 필드에 대해 쿼리를 실행하고, 예제 결과를 검사하고, 유용한 답변을 대시보드 또는 알림으로 전환하세요.
구현 제품군별로 찾아보기
관련 통합 패턴 비교
이 통합과 페어링할 템플릿
더 많은 통합
BullMQ 대기열 모니터링
SQL 지원 수명 주기 이벤트를 통해 BullMQ 대기열 대기, 실행 기간, 재시도, 실패 및 배달 못한 편지 증가를 측정합니다.
가이드 열기RabbitMQ 대기열 Telemetry
구조화된 이벤트를 통해 RabbitMQ 게시 확인, 전달, 승인, 재전송, 대기열 대기, 재시도 및 배달 못한 편지 결과를 추적합니다.
가이드 열기Azure 서비스 버스 Telemetry
메시지 본문을 수집하지 않고도 Azure Service Bus 전송, 수신, 잠금 갱신, 결제, 재전송, 지연 및 배달 못한 편지 결과를 추적합니다.
가이드 열기