Ý chính: Không nên bắt mọi yêu cầu của khách hàng đi qua hệ thống quản trị trung tâm.
Thuật ngữ trong bài: Control plane: phần quản trị cấu hình và vòng đời khách hàng; data plane: phần trực tiếp phục vụ yêu cầu; reconciliation: liên tục so sánh trạng thái mong muốn với trạng thái thực tế.
Bài toán thực tế
Thông tin gói dịch vụ, hạn mức và vùng dữ liệu thay đổi không thường xuyên. Trong khi đó, yêu cầu của người dùng cần phản hồi nhanh và ổn định. Nếu hai phần gắn chặt, một sự cố quản trị có thể làm gián đoạn toàn bộ sản phẩm.
Thông tin gói dịch vụ, hạn mức và vị trí dữ liệu thay đổi chậm; yêu cầu của người dùng lại cần phản hồi nhanh và ổn định. Nếu mỗi yêu cầu đều gọi hệ thống quản trị trung tâm, một sự cố hành chính sẽ trở thành sự cố toàn sản phẩm.
Cách tách hợp lý là để hệ thống quản trị phát hành chính sách có phiên bản, còn hệ thống phục vụ dùng bản hợp lệ gần nhất và liên tục đối soát sai lệch.
Thiết kế và triển khai
- Mô hình hóa cấu hình khách hàng thành trạng thái mong muốn có số phiên bản.
- Cấp phát tài nguyên bất đồng bộ bằng một máy trạng thái có thể thử lại an toàn.
- Phân phối bản chụp chính sách có chữ ký; hệ thống phục vụ tiếp tục dùng phiên bản hợp lệ gần nhất khi hệ thống quản trị gặp sự cố.
Mã minh họa: Bản chụp chính sách khách hàng có chữ ký
snapshot = { tenantId, version, region, plan, limits, keyRef }
signature = controlPlane.sign(snapshot)
dataPlane.verify(signature)
dataPlane.activateIf(version > current.version)Không tự quay về bản chụp cũ. Nếu cần rollback, hệ thống quản trị phải phát hành một phiên bản mới có chữ ký và nội dung quay lui rõ ràng.
Rủi ro cần tính trước
- Quy trình cấp phát dừng sau khi mới tạo một phần tài nguyên rồi được chạy lại.
- Bản chụp quyền lợi quá cũ vẫn cho phép dùng tính năng sau khi khách hàng đã bị tạm ngưng.
- Một khách hàng dùng hết nhóm kết nối hoặc toàn bộ worker của hàng đợi dùng chung.
Nên theo dõi gì?
| Tín hiệu | Điều tín hiệu cho biết |
|---|---|
| Thời gian ở mỗi trạng thái cấp phát | Phát hiện những lần chuyển vòng đời bị kẹt. |
| Độ lệch phiên bản chính sách | Cho biết hệ thống phục vụ nào còn dùng cấu hình cũ. |
| Mức sử dụng tài nguyên theo khách hàng và gói | Cung cấp bằng chứng cho quyết định cô lập và mở rộng năng lực. |
Đưa vào production từng bước
Tách phần đọc chính sách khách hàng trước và chạy song song với luồng cũ để so sánh quyết định. Chuyển cấp phát tài nguyên sang cơ chế đối soát từng nhóm một; chỉ bỏ lời gọi đồng bộ khi đã diễn tập chính sách cũ và thu hồi khẩn cấp.
Điều cần nhớ
Tách hệ thống quản trị khỏi hệ thống phục vụ biến thao tác vòng đời khách hàng thành quy trình có thể kiểm toán mà không đặt lưu lượng người dùng vào cùng miền sự cố.
