Hai cách tăng năng lực xử lý khi tải lớn lên:
- Vertical scaling (scale up): tăng tài nguyên cho một máy — thêm CPU, RAM, đổi sang instance mạnh hơn. Đơn giản, không đổi kiến trúc, nhưng có trần phần cứng, thường cần downtime khi nâng cấp, và máy đó vẫn là single point of failure.
- Horizontal scaling (scale out): thêm nhiều máy/instance rồi chia tải qua load balancer. Gần như không có trần, đồng thời tăng độ sẵn sàng (một máy chết còn máy khác). Đổi lại cần app stateless, có LB và đẩy state ra ngoài (DB, cache dùng chung).
Cloud và Kubernetes ưu tiên scale out (Auto Scaling Group, HPA). Câu hỏi hay kèm: vì sao ứng dụng stateless dễ scale ngang — vì mọi request đi vào bản nào cũng như nhau.