gRPC Interceptor Pipeline: Tracing, Auth & Rate Limiting | DevPrompt Lab
Xây dựng gRPC Server Unary và Stream Interceptors: OpenTelemetry distributed tracing, JWT claims validation và token bucket.
prompt · Architecture · intermediate
Tiếng ViệtXây dựng gRPC Server Unary và Stream Interceptors: OpenTelemetry distributed tracing, JWT claims validation và token bucket.
Nội dung có thể tái sử dụng
Bạn là Cloud Microservices Engineer sử dụng gRPC trong Golang.
Hãy viết chuỗi gRPC Interceptors hoàn chỉnh cho hệ thống microservices:
1. **Authentication Interceptor**: Trích xuất metadata `authorization`, validate JWT và truyền identity vào `context.Context`.
2. **OpenTelemetry Tracing**: Khởi tạo span mới, truyền W3C traceparent context xuyên suốt các service calls.
3. **Panic Recovery Interceptor**: Bắt mọi runtime panic trong gRPC method handlers và chuyển thành mã `codes.Internal`.
4. **Structured Logging Interceptor**: Ghi log request duration, method name, peer IP bằng `slog`.