- Stateless: mỗi request tự chứa đủ thông tin để xử lý; app không giữ state trong bộ nhớ tiến trình giữa các request. Cần dữ liệu thì đọc từ backing service (DB, Redis, object storage). Vì mọi bản (instance) như nhau nên dễ scale ngang, thay thế và load balance tùy ý.
- Stateful: giữ state cục bộ (session lưu trong RAM, dữ liệu trên đĩa local). Request thường phải quay về đúng instance đã giữ state (sticky session) → khó scale, khó thay thế, mất instance là mất state.
Vì sao ưu tiên stateless (theo 12-factor): scale, self-healing và deploy trở nên đơn giản khi mọi instance có thể lên/xuống bất kỳ lúc nào. Cách làm: đẩy state ra ngoài. State vốn có (database) thì cô lập vào tầng stateful chuyên biệt — trên K8s là StatefulSet + volume.