基于服务器的身份验证的可扩展性问题
Scalability issues with server based authentication
我正在阅读有关基于服务器的身份验证的问题。我需要帮助详细说明以下几点。
Scalability: Since sessions are stored in memory, this provides problems with scalability. As our cloud providers start replicating servers to handle application load, having vital information in session memory will limit our ability to scale.
我似乎不明白为什么“...在会话内存中拥有重要信息会限制我们的扩展能力”,会限制扩展能力。仅仅是因为信息被复制了……所以它与冗余有关吗?我不这么认为。无论如何,有人愿意进一步解释吗?非常感谢。
这里指的是无状态和有状态服务器端操作之间的区别。有状态服务器保留其部分资源(主要是主内存)以保留与某些客户端相关的状态,即使服务器实际上根本没有为客户端做任何事情并且只是在等待客户端返回。此类系统的性能配置文件 "linear" 仅达到所有可用内存已填满状态的程度,超过该程度服务器似乎基本上停止运行。无状态服务器只在它们实际做某事时才保持资源占用,一旦完成做某事,这些资源将立即释放并可供其他客户端使用。此类服务器基本上不受内存限制的限制,因此 "scale easier".
此外,给出的解释似乎是指一组不同的机器向外界展示自己是一个,而实际上它们不是一个的场景(这通常被称为 "cluster" of machines/servers).在这种情况下,如果客户端连接到 "big single virtual machine",那么实际上他只连接到集群中的一个 "actual machines"。如果状态保存在那里,则同一客户端的后续访问必须路由到同一台物理机器,或者该状态片段必须被传送到下一次访问碰巧到达的任何机器。前者意味着管理功能的实现占用了它们自己的一组资源,加上对集群分配负载的自由度的限制(与你想要进行集群的原因相反),后者意味着额外的网络流量将限制可扩展性与可用内存的方式基本相同。
基于服务器的身份验证使用会话,而会话又使用本地会话 ID。在云中,当服务器被复制以处理应用程序负载时,一台服务器很难知道其他服务器上的哪些会话处于活动状态。现在要克服这个问题,必须执行额外的步骤……例如将会话 ID 持久保存到数据库中。然而,随着服务器越来越多地被复制,处理这一切变得越来越困难。因此,基于服务器或基于会话的身份验证对于可伸缩性可能存在问题。
我正在阅读有关基于服务器的身份验证的问题。我需要帮助详细说明以下几点。
Scalability: Since sessions are stored in memory, this provides problems with scalability. As our cloud providers start replicating servers to handle application load, having vital information in session memory will limit our ability to scale.
我似乎不明白为什么“...在会话内存中拥有重要信息会限制我们的扩展能力”,会限制扩展能力。仅仅是因为信息被复制了……所以它与冗余有关吗?我不这么认为。无论如何,有人愿意进一步解释吗?非常感谢。
这里指的是无状态和有状态服务器端操作之间的区别。有状态服务器保留其部分资源(主要是主内存)以保留与某些客户端相关的状态,即使服务器实际上根本没有为客户端做任何事情并且只是在等待客户端返回。此类系统的性能配置文件 "linear" 仅达到所有可用内存已填满状态的程度,超过该程度服务器似乎基本上停止运行。无状态服务器只在它们实际做某事时才保持资源占用,一旦完成做某事,这些资源将立即释放并可供其他客户端使用。此类服务器基本上不受内存限制的限制,因此 "scale easier".
此外,给出的解释似乎是指一组不同的机器向外界展示自己是一个,而实际上它们不是一个的场景(这通常被称为 "cluster" of machines/servers).在这种情况下,如果客户端连接到 "big single virtual machine",那么实际上他只连接到集群中的一个 "actual machines"。如果状态保存在那里,则同一客户端的后续访问必须路由到同一台物理机器,或者该状态片段必须被传送到下一次访问碰巧到达的任何机器。前者意味着管理功能的实现占用了它们自己的一组资源,加上对集群分配负载的自由度的限制(与你想要进行集群的原因相反),后者意味着额外的网络流量将限制可扩展性与可用内存的方式基本相同。
基于服务器的身份验证使用会话,而会话又使用本地会话 ID。在云中,当服务器被复制以处理应用程序负载时,一台服务器很难知道其他服务器上的哪些会话处于活动状态。现在要克服这个问题,必须执行额外的步骤……例如将会话 ID 持久保存到数据库中。然而,随着服务器越来越多地被复制,处理这一切变得越来越困难。因此,基于服务器或基于会话的身份验证对于可伸缩性可能存在问题。