본문으로 건너뛰기

Transaction ID (Txid)

개요

TXID Policy는 각 들어오는 요청에 고유한 트랜잭션 ID를 할당하도록 설계되었습니다. 이 ID는 다양한 서비스 간의 요청 추적을 가능하게 하여 분산 시스템에서 디버깅, 모니터링 및 로깅을 용이하게 합니다. 정책은 각 요청이 x-txid 헤더로 태그가 지정되도록 보장하며, 이는 나중에 추적 및 분석에 사용될 수 있습니다.

TXID를 사용하는 이유는 무엇인가요?

  • troubleshooting 및 API 트랜잭션에서 문제를 식별하는 데 도움이 됩니다.
  • 분산 시스템에서 observability을 개선합니다.
  • 다양한 API 계층 간에 logging consistency을 가능하게 합니다.

구성 세부정보

트랜잭션 ID 헤더 (x-txid)

  • 정책은 모든 들어오는 요청에 대해 고유한 x-txid 헤더를 자동으로 생성합니다.
  • 이 ID는 요청의 생애 주기 동안 일관성을 유지하여 다양한 서비스 간의 추적 가능성을 보장합니다.
  • 예:
x-txid: 550e8400-e29b-41d4-a716-446655440000
  • 서비스에 x-txid 헤더가 이미 포함되어 있지 않은 경우, 시스템이 자동으로 하나를 생성합니다.

W3C 활성화

정책은 선택적 W3C 활성화 설정을 제공합니다. 활성화되면 시스템은 x-txid 헤더 대신 W3C Trace Context Specification을 따릅니다.

  • W3C가 비활성화된 경우(기본값):
    • 시스템은 x-txid 헤더에 트랜잭션 ID를 할당합니다.
  • W3C가 활성화된 경우:
    • x-txid 대신 traceparent라는 HTTP 헤더가 전달됩니다.
    • traceparent 헤더는 W3C Trace Context 표준에 따라 형식이 지정됩니다.
    • 이는 W3C 표준을 지원하는 외부 로깅 및 추적 도구와의 상호 운용성을 허용합니다.
    • 예:
traceparent: 00-3fcf0fea8f014021927305eb2842715b-59ee61718d864a72-01
  • stdout-log와 결합되면, 추적 정보가 로그 데이터로 저장됩니다.

구성 필드

필드설명기본값비고
x-txid Header각 요청에 대해 고유한 트랜잭션 ID를 자동으로 할당합니다.활성화변경할 수 없습니다.
W3C Activationtraceparent 헤더를 x-txid 대신 활성화합니다.비활성화W3C 추적 도구와의 상호 운용성이 필요한 경우 활성화할 수 있습니다.
Choosing between x-txid and W3C traceparent:
  • 시스템이 표준 API 추적 메커니즘에 의존하는 경우, x-txid을 사용해야 합니다.
  • OpenTelemetry와 같은 외부 관찰 도구와의 상호 운용성이 필요한 경우, W3C traceparent을 활성화합니다.