</>
⌕
Junior #scaling#scalability#stateless

Horizontal scaling và vertical scaling khác nhau thế nào?

⚡ Trả lời nhanh

Vertical scaling (scale up) nâng cấu hình một máy: đơn giản nhưng có trần và là single point of failure. Horizontal scaling (scale out) thêm nhiều máy sau load balancer: gần như không giới hạn và chịu lỗi tốt, nhưng cần service stateless và xử lý dữ liệu phân tán.

VerticalHorizontal
Cách làmthêm CPU/RAM cho máythêm số lượng máy
Độ phức tạpthấpcao hơn
Giới hạntrần phần cứng, giá tăng phi tuyếngần như không có
Chịu lỗimột máy chết là mất dịch vụcòn các node khác
Downtime khi nângthường cókhông

Để scale out được, tầng ứng dụng nên stateless: session lưu ở Redis hoặc dùng JWT, file upload để ở object storage, không giữ trạng thái trên local disk.

Client -> Load Balancer -> [App 1] [App 2] [App 3] -> Database (khó scale nhất)
🃏 Ôn bằng flashcard