Access Hub Collector
Đồng bộ từ mã nguồn lúc 10:57, 03/10/2026
Skip to content
ADR 0004Chấp nhận

ADR 0004: Tách control plane (Access Hub) và data plane (Collector) ​

Xây collector riêng bằng Go. Access Hub chỉ giữ dữ liệu nghiệp vụ nhỏ (agent, luật, alert), không nhận mẫu số liệu.

Ngày quyết định
30/09/2026
Chấp nhận
30/09/2026
Phạm vi
Collector
Người chấp nhận
Chưa ghi
  1. Đề xuất30/09/2026
  2. Chấp nhận30/09/2026

Trạng thái: Chấp nhận. Ngày: 2026-09-30.

Bối cảnh ​

Access Hub (Laravel, PHP-FPM, MySQL) là nơi quản lý danh tính, kiểm kê, phân quyền, thông báo. Giám sát tạo luồng dữ liệu rất lớn (hàng trăm request/giây, hàng chục nghìn mẫu/giây) và có đặc tính khác hẳn (ghi liên tục, nhạy độ trễ, không quan hệ).

Lựa chọn ​

  1. Agent gửi thẳng vào Access Hub.
  2. Một hub trung gian (collector) đứng giữa, tách hai mặt phẳng.

Quyết định ​

Xây collector riêng bằng Go. Access Hub chỉ giữ dữ liệu nghiệp vụ nhỏ (agent, luật, alert), không nhận mẫu số liệu.

Lý do ​

  • PHP-FPM và MySQL không phù hợp làm đường ingest tần suất cao. Tải giám sát không được kéo sập ứng dụng nghiệp vụ.
  • Hai phía scale độc lập (thêm ingest mà không đụng Access Hub).
  • MySQL Read/Write của Access Hub được bảo vệ khỏi khối lượng ghi số liệu.
  • Ranh giới bảo mật rõ: agent không bao giờ nói chuyện trực tiếp với Access Hub.

Hệ quả ​

  • Thêm một dịch vụ để vận hành (đổi lại là cô lập tải).
  • Cần đồng bộ hai chiều được thiết kế cẩn thận: registry đẩy xuống, sự kiện đẩy lên, idempotent, chịu lỗi (xem 06).
  • Cần kiểm thử hợp đồng giữa hai hệ thống.
  • Access Hub vẫn là nguồn sự thật cho danh tính và luật, collector là bản sao đọc và người đánh giá.
Trang này có giúp được bạn không?
Sửa trang này

Nội dung đồng bộ từ kho mã access-hub-collector lúc 10:57, 03/10/2026. Khi tài liệu và mã khác nhau, mã thắng.