AIAIBOX Fleet Lab
Đang kết nối fleet…
Offline-first · Multi-master · Failure lab

Một fleet. Không master. Không điểm chết duy nhất.

Năm AI box tự tìm nhau trên LAN, mỗi box giữ một bản sao dữ liệu và có thể phục vụ quản trị. Cảnh báo đi đường nhanh; dữ liệu thiếu được kéo bù bằng anti-entropy.

5box ngang hàng
2đường dữ liệu độc lập
0master / cloud bắt buộc
7/7kịch bản hệ thống đã pass

Kiến trúc và luồng hoạt động

Sơ đồ vừa mô tả thiết kế, vừa phản ánh sự kiện thật. Gói chạy trên hình chỉ xuất hiện khi một box ghi metric tương ứng.

● đang nối stream
ALERT fanout anti-entropy sync firmware discovery / hồi phục còi / partition
1Ghi bền tại box gốcSQLite WAL + oplog + HLC trong một transaction.
2Cảnh báo đi ngayCritical event được fanout song song trước khi API trả lời.
3Peer lưu và hú còiNhận event idempotent; hành động local không phụ thuộc box gốc.
4Kéo bù phần bị thiếuWatermark → oplog còn thiếu → LWW / quarantine → hội tụ.

Fleet trực tiếp

đang tải

Mỗi thẻ là một appliance tự trị: API + SQLite/oplog + HLC + discovery + sync + siren.

Thử kiến trúc

Một chỗ duy nhất cho demo nhanh và kịch bản kiểm chứng.

Demo nhanh

Tạo sự kiện, cắt box hoặc chia mạng; sơ đồ phía trên phản hồi theo metric thật.

Kịch bản kiểm chứng

Mỗi kịch bản cố bác bỏ một thuộc tính của kiến trúc, không chỉ chạy demo đẹp.

Hai đường độc lập: fanout tối ưu độ trễ nhưng được phép thất bại; anti-entropy sync tối ưu tính đúng và sửa mọi phần đã bỏ lỡ. Không đường nào thay thế đường còn lại.

Hoạt động gần nhất

Bấm một dòng để phát lại chuyển động trên sơ đồ.

Luồng hệ thống chi tiết
Cảnh báo criticalCamera/inference → POST event vào box gần nhất → commit local → fanout song song → peer lưu → còi local.
Đồng bộ dữ liệuUDP discovery → peer gửi watermark → kéo các seq còn thiếu → idempotent apply → LWW/HLC hoặc quarantine.
Firmware offlineUpload vào một box → ký HMAC + hash → discovery quảng bá version → peer pull → verify → atomic VERSION marker.
Peer view và event gần đây

Hàng là box đang trả lời; cột là peer mà box đó tin còn sống. Partition bất đối xứng sẽ hiện trực tiếp ở đây.

Event gần đây

Điều khiển từng box

Failure injection chỉ làm box tự đóng API/discovery hoặc tự cắt iptables; console không được gắn Docker socket.

Số đo và giới hạn của lab
Kịch bảnThuộc tính được kiểm chứngKết quả
rbacScope không rò sang site khác5/5 box
fire_then_deathAlert sống sau khi box gốc chết4/4 còi · 6.5–46.4ms
partition_healBox offline tự kéo bù4 event · 1.51s
split_brainGhi xung đột hội tụ1 giá trị trên 5 box
firmware_rolloutMột upload cập nhật fleet5/5 · 2.05s
Chưa kiểm chứng trên phần cứng aarch64, GPIO/siren thật, camera/inference thật, A/B firmware rollback hoặc quy mô trên 20 box. Bản production cũng cần key riêng từng box thay cho một shared secret.