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

Khả năng hệ thống “lớn lên” cùng số lượng người dùng/dữ liệu tăng mà không suy giảm hiệu năng. Có hai hướng mở rộng.

Vertical vs Horizontal Scaling

Ví dụ quán phở đông khách:

Vertical Scaling (chiều dọc)Horizontal Scaling (chiều ngang)
Quán phởThuê đầu bếp giỏi hơn, nồi to hơnMở thêm chi nhánh, thêm đầu bếp song song
Hệ thốngNâng cấp máy chủ hiện có (thêm CPU/RAM)Thêm nhiều máy chủ vào hệ thống
Giới hạnCó trần cứng (một máy chỉ mạnh đến mức nào đó)Linh hoạt hơn, gần như không trần
Chịu lỗiMáy hỏng = sậpMột máy hỏng, máy khác vẫn phục vụ

Vì sao ưu tiên mở rộng ngang

Thực tế thường ưu tiên Horizontal Scaling vì tăng khả năng chịu tải và dự phòng lỗi tốt hơn. Tuy nhiên cần cơ chế Load Balancer để phân phối công việc giữa các máy. Scalability tốt cho phép hệ thống phình to khi cần và thu nhỏ khi nhu cầu giảm một cách trơn tru.

Liên quan