Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Nguyên tắc cơ bản

Các nguyên tắc nền tảng cần xem xét khi thiết kế hệ thống phân tán.


1. Scalability (Khả năng mở rộng)

Khả năng hệ thống xử lý tăng tải mà không ảnh hưởng đến performance.

  • Vertical Scaling (Scale up): Tăng tài nguyên của một node (CPU, RAM, disk).
  • Horizontal Scaling (Scale out): Thêm nhiều node vào hệ thống.
  • Stateless vs Stateful: Stateless dễ scale hơn vì không cần giữ state giữa các requests.

2. Reliability (Độ tin cậy)

Hệ thống tiếp tục hoạt động đúng ngay cả khi có lỗi (fault tolerance).

  • Redundancy: Nhân bản components để tránh single point of failure.
  • Failover: Tự động chuyển sang backup khi primary fail.
  • Health checks & Monitoring: Phát hiện sự cố sớm.

3. Availability (Tính sẵn sàng)

Tỷ lệ thời gian hệ thống hoạt động và có thể truy cập được.

  • SLA (Service Level Agreement): Thỏa thuận về availability (ví dụ 99.9%).
  • Redundancy & Load balancing: Đảm bảo không có single point of failure.
  • Graceful degradation: Khi một phần hệ thống fail, phần còn lại vẫn hoạt động với chức năng giới hạn.

4. Maintainability (Khả năng bảo trì)

Dễ dàng sửa đổi, cập nhật và vận hành hệ thống.

  • Modularity: Chia hệ thống thành các module độc lập.
  • Documentation & Logging: Ghi lại đầy đủ hoạt động.
  • Automated testing & Deployment: Giảm rủi ro khi thay đổi.

5. Performance (Hiệu suất)

Đo lường bằng throughput, latency, response time.

  • Caching: Giảm latency và tải cho backend.
  • Load balancing: Phân phối tải đều giữa các server.
  • Database optimization: Indexing, sharding, read replicas.

Xem tiếp: Các thành phần hệ thống →