无状态服务器如何在服务器端保持会话状态?

gst*_*low 4 java architecture session state stateless

我正在阅读Marting Fowler着名的《企业应用程序架构的模式》以系统化我的知识。

我读过一章Session and States,我有些困惑。在本章的第一部分中,作者建议使用无状态服务器以避免某些问题。然后作者说,有时我们需要在服务器端保存一些数据-例如,网上商店中的用户购物车。但是要实现带状态的会话,我们可以使用无状态服务器。 然后作者描述保存会话状态(客户端,服务器,数据库)的方法

但是阅读完本章后,我不了解什么是无状态服务器。如果服务器保持会话状态,服务器将如何变为无状态?

Gho*_*ica 5

Quora有一个很好的定义:

无状态服务是在应用程序服务器上不存储任何数据的服务。它读取或写入数据到数据库,返回一个值(或不返回),然后,关于任务本身的任何信息都将被忘记。

含义:保留状态数据的不是服务器本身。它可以将其放入某个数据库中。然后,它可能会为客户端提供某种令牌,客户端可以在将来的呼叫中包括这些令牌。该令牌使其他服务器能够从数据库中检索相应的数据。

关键是:当然,信息需要存储在某个地方。但这不是服务器,而是所有无状态服务器都可以使用的基础架构。