Góc nhìn

Thiết kế SaaS multi-tenant từ ranh giới dữ liệu

Những nguyên tắc về tenancy, RBAC, API contracts và migrations cho nền tảng có thể mở rộng.

TDs Origin · Engineering Notes · 19/10/2026 · SOFTWARE ARCHITECTURE

Tách tenant ngay từ mô hình domain

Một ứng dụng có nhiều tổ chức không tự động bảo đảm tenant isolation. Mọi query và mutation nhạy cảm cần được gắn tenant context xác thực ở server, và mọi endpoint phải có kiểm tra ủy quyền tương ứng.

Ràng buộc database, transaction scope và audit trail tạo thêm lớp phòng vệ cho lỗi lập trình.

Phân quyền là hợp đồng server-side

UI có thể ẩn hành động không được phép để giảm nhiễu, nhưng không thể là nguồn quyết định cuối cùng. API phải kiểm tra quyền trên từng thao tác và trả lỗi có cấu trúc.

Các bài kiểm thử cross-tenant và privilege escalation cần chạy như regression suite bắt buộc.

Migration không được đổi dữ liệu lấy tốc độ

Áp dụng expand-and-contract với thay đổi schema: bổ sung tương thích, migrate dữ liệu có thể kiểm chứng, chuyển luồng đọc/ghi, sau đó loại bỏ cấu trúc cũ khi an toàn.

Với tác vụ đồng thời và retry, cần idempotency keys, optimistic concurrency hoặc transaction phù hợp.

Quan sát hệ thống có ý nghĩa

  • Metrics có ngữ cảnh tenant nhưng không làm lộ dữ liệu nhạy cảm.
  • Request IDs và structured logs để lần theo lỗi xuyên các thành phần.
  • Runbook cho backup, incident và rollback rõ chủ sở hữu.
← Góc nhìn