ADR 0002Chấp nhận
ADR 0002: HTTPS + protobuf, không dùng gRPC
Trạng thái: Chấp nhận. Ngày: 2026-09-30.
Bối cảnh
Cần giao thức gọn, bền, đi qua proxy doanh nghiệp, dễ cân tải, dễ gỡ lỗi, nhiều nền tảng.
Lựa chọn
- gRPC (HTTP/2, streaming).
- HTTPS REST với JSON.
- HTTPS REST với protobuf nén.
Quyết định
HTTPS REST, thân protobuf nén (zstd hoặc gzip), JSON chỉ để gỡ lỗi.
Lý do
- Nhiều proxy và tường lửa doanh nghiệp xử lý HTTP/1.1 kém với gRPC, và cân tải L7 cho gRPC phức tạp hơn.
- Request/response độc lập, không giữ kết nối dài, agent và collector không phải quản lý luồng.
- Protobuf gọn và có lược đồ có kiểm tra tương thích (
buf breaking). - Dễ dùng
curlđể chẩn đoán với chế độ JSON gỡ lỗi. - Đơn giản để đưa đường dẫn
enrollqua proxy sang Access Hub (REST).
Hệ quả
- Không có streaming hai chiều. Lệnh từ collector xuống agent chỉ qua thăm dò (
configmỗi 5 phút hoặcconfig_etagtrong phản hồi). Đủ cho phạm vi GĐ 1 đến 3. - Phải tự thiết kế quy ước lỗi, phiên bản và giới hạn (đã làm ở 03-protocol).