Nếu bạn đang lưu trữ trạng thái trên máy chủ cần thiết để xử lý yêu cầu đến từ máy khách, thì máy chủ sẽ ở trạng thái. Nói một cách khác, nó nói rằng nó lưu trữ và cần truy cập để xử lý các yêu cầu từ khách hàng. Vì vậy, hashmap của bạn là trạng thái để máy chủ của bạn có trạng thái.
Bây giờ, có rất ít ứng dụng web thực sự làm được những điều phong phú mà không có trạng thái nào cả. Rốt cuộc, nếu bạn sẽ có một người dùng đăng nhập và sau đó xử lý các yêu cầu theo lệnh của khách hàng đã đăng nhập, thì theo định nghĩa, bạn đang lưu trữ trạng thái trên máy chủ liên quan đến một khách hàng cụ thể và máy chủ có trạng thái , ngay cả khi chỉ cho các thông tin đăng nhập.
Vì vậy, tôi sẽ không quá bận tâm về việc không có trạng thái nào trên máy chủ. Vấn đề là máy chủ có bao nhiêu trạng thái, mức độ đắt đỏ (về xử lý, lưu trữ, v.v.) để lưu trữ và truy cập trạng thái này và bạn vẫn có thể mở rộng quy mô ứng dụng của mình theo trạng thái này. Và, bất cứ nơi nào thực tế giữ trạng thái trong máy khách, không phải trên máy chủ. Như một ví dụ tầm thường, giả sử bạn có một ứng dụng khách có nút "trang tiếp theo". Bạn có thể triển khai "trang tiếp theo" với trạng thái phía máy khách của trạng thái phía máy chủ.
Nếu bạn có trạng thái phía máy chủ cho trang hiện tại của máy khách, bạn có thể gửi lệnh đến máy chủ mà bạn muốn xem trang "tiếp theo". Máy chủ sẽ xem xét trạng thái của nó cho máy khách đó, tăng trang và sau đó trả lại dữ liệu cho trang tiếp theo.
Hoặc, bạn có thể lưu trữ trang hiện tại trên máy khách. Khi khách hàng muốn trang tiếp theo, nó sẽ lấy số trang hiện tại của nó, tăng nó lên một và đưa ra yêu cầu chung cho số trang cụ thể mà nó muốn xem tiếp theo.
Bạn nghĩ quy mô nào trong số những triển khai này tốt hơn? Cách nào đơn giản hơn để thực hiện khi người dùng mở tab thứ hai đang xem một trang khác? Đó là đơn giản hơn để quy mô theo chiều ngang. Câu trả lời cho tất cả những câu hỏi đó là câu trả lời không lưu trữ trang hiện tại trên máy chủ, nhưng giữ nó trong máy khách và chỉ thực hiện các yêu cầu chung cho trang N đến máy chủ. Giữ phía máy khách trạng thái đó giúp dễ dàng chia tỷ lệ riêng lẻ và theo chiều ngang và hỗ trợ nhiều chế độ xem cho cùng một khách hàng.