Chuyển tới nội dung chính

Transaction ID (Txid)

Tổng quan

TXID Policy được thiết kế để gán một ID giao dịch duy nhất cho mỗi yêu cầu đến. ID này cho phép theo dõi các yêu cầu qua các dịch vụ khác nhau, tạo điều kiện cho việc gỡ lỗi, giám sát và ghi log trong các hệ thống phân tán. Chính sách đảm bảo rằng mỗi yêu cầu được gán một tiêu đề x-txid, có thể được sử dụng sau này cho việc truy vết và phân tích.

Tại sao sử dụng TXID?

  • Giúp trong troubleshooting và xác định các vấn đề trong các giao dịch API.
  • Cải thiện observability trong các hệ thống phân tán.
  • Cho phép logging consistency qua các lớp API khác nhau.

Chi tiết cấu hình

Tiêu đề ID giao dịch (x-txid)

  • Chính sách tự động tạo một tiêu đề x-txid duy nhất cho mỗi yêu cầu đến.
  • ID này giữ nguyên trong suốt vòng đời của yêu cầu, đảm bảo khả năng truy vết qua các dịch vụ khác nhau.
  • Ví dụ:
x-txid: 550e8400-e29b-41d4-a716-446655440000
  • Nếu dịch vụ chưa bao gồm một tiêu đề x-txid, hệ thống sẽ tự động tạo một cái.

Kích hoạt W3C

Chính sách cung cấp một cài đặt kích hoạt W3C tùy chọn. Khi được kích hoạt, hệ thống sẽ tuân theo Thông số ngữ cảnh truy vết W3C thay vì sử dụng tiêu đề x-txid.

  • Khi W3C bị vô hiệu hóa (mặc định):
    • Hệ thống gán một ID giao dịch cho tiêu đề x-txid.
  • Khi W3C được kích hoạt:
    • Thay vì x-txid, một tiêu đề HTTP gọi là traceparent được truyền.
    • Tiêu đề traceparent được định dạng theo tiêu chuẩn Ngữ cảnh truy vết W3C.
    • Điều này cho phép tương tác với các công cụ ghi log và truy vết bên ngoài hỗ trợ tiêu chuẩn W3C.
    • Ví dụ:

traceparent: 00-3fcf0fea8f014021927305eb2842715b-59ee61718d864a72-01

    - Khi kết hợp với <b>stdout-log</b>, thông tin truy dấu được lưu trữ dưới dạng dữ liệu nhật ký.
### Các trường cấu hình \{#configuration-fields}


| Trường | Mô tả | Giá trị mặc định | Ghi chú |
| --- | --- | --- | --- |
| <b>x-txid Header</b> | Tự động gán một ID giao dịch duy nhất cho mỗi yêu cầu. | Bật | Không thể thay đổi. |
| <b>W3C Activation</b> | Kích hoạt tiêu đề <b>traceparent</b> thay vì <b>x-txid</b>. | Tắt | Có thể được bật nếu cần tương tác với các công cụ truy dấu W3C. |

<b>Choosing between x-txid and W3C traceparent:</b>

- Nếu hệ thống dựa vào các cơ chế truy dấu API tiêu chuẩn, <b>x-txid</b> nên được sử dụng.
- Nếu cần tương tác với các công cụ quan sát bên ngoài như OpenTelemetry, hãy bật <b>W3C traceparent</b>.