
Phân tích yêu cầu
- Ứng dụng web chạy trên Azure Web App và sử dụng Azure SQL Database + Azure Storage.
- Gửi HTTP requests đến các dịch vụ bên ngoài.
- Đã tích hợp Application Insights để theo dõi hoạt động.
- Các dịch vụ bên ngoài tuân theo OpenTelemetry (chuẩn mở để quan sát hệ thống).
- Yêu cầu: Gán customer ID của người dùng đăng nhập với mọi thao tác trong toàn bộ hệ thống.
Phân tích các lựa chọn
Lựa chọn | Phân tích | Chọn không? |
---|---|---|
A. Add the customer ID for the signed-in user to the CorrelationContext in the web application. | ✅ Đúng. CorrelationContext là một phần của Application Insights, giúp theo dõi dữ liệu trong suốt quá trình request, rất phù hợp để gắn Customer ID vào hệ thống quan sát. | ✅ Chọn |
B. On the current SpanContext, set the TraceId to the customer ID for the signed-in user. | ❌ Sai. TraceId là một giá trị hệ thống tự sinh, dùng để theo dõi toàn bộ transaction, không thể thay thế bằng Customer ID. | ❌ Không chọn |
C. Set the header Ocp-Apim-Trace to the customer ID for the signed-in user. | ❌ Sai. Ocp-Apim-Trace là một header dành riêng cho API Management, không liên quan đến OpenTelemetry hay Application Insights. | ❌ Không chọn |
D. Create a new SpanContext with the TraceFlags value set to the customer ID for the signed-in user. | ❌ Sai. TraceFlags không phải để lưu thông tin người dùng, mà để đánh dấu trạng thái của trace (ví dụ: sample hoặc debug). | ❌ Không chọn |
Đáp án chính xác
✅ Chọn A: Add the customer ID to CorrelationContext
🚀 Đây là cách đúng nhất để gán Customer ID với mọi hoạt động trong hệ thống!