2016-09-06 28 views
1

我正在阅读有关基于服务器的身份验证的问题。我需要帮助,详细阐述以下几点。基于服务器的身份验证的可伸缩性问题

可伸缩性:由于会话存储在内存中,因此会提供可伸缩性方面的问题。随着我们的云提供商开始复制服务器以处理应用程序负载,会话内存中的重要信息将限制我们的扩展能力。

我似乎不明白为什么“......会话记忆中的重要信息会限制我们的缩放能力”,这会限制缩放能力。仅仅是因为信息正在被复制......所以这与冗余有关呢?我不这么认为。无论如何,任何人都会友好地进一步解释这一点吗?非常感激。

回答

0

基于服务器的身份验证使用会话,而会话又使用本地会话ID。在云中,当服务器被复制来处理应用程序负载时,一台服务器很难知道哪些会话在其他服务器上处于活动状态。现在要解决这个问题,必须执行额外的步骤......例如将会话ID保存到数据库。但是,随着服务器日益复制,处理所有这些变得越来越困难。因此,基于服务器或基于会话的身份验证对于可伸缩性可能存在问题。

1

所指的是无状态和有状态的服务器端操作之间的区别。有状态的服务器保留部分资源(主要是内存),以便保留与某些客户端相关的状态,即使服务器实际上对客户端没有任何操作,只是等待客户端回来。这种系统的性能曲线只有在所有可用内存都已满状态的情况下才是“线性的”,超出这一点时服务器似乎基本上停顿。无状态服务器只在实际执行某些操作时才占用资源,并且一旦完成操作,这些资源就会立即释放并可用于其他客户端。这些服务器基本上不受内存限制限制,因此“更容易扩展”。

此外,给出的解释似乎指的是场景中的情况,即一组不同的机器作为一个存在于外部世界,实际上它们不存在(通常称为机器/服务器的“集群”)。在这种情况下,如果客户端已连接到“大单虚拟机”,那么实际上他只连接到群集中的“实际机器”中的一个。如果状态保持在那里,那么同一个客户的后续访问必须被路由到同一个物理机器,或者这个状态必须被传送到下一次访问发生的任何机器。前者意味着管理职能的实施需要他们自己的一套资源,并且限制了集群分配负载的自由度(与你想要进行集群的原因相反),后者意味着额外的网络流量将限制可扩展性基本上和可用内存一样。

+0

哇!令人难以置信的细节......实际上,差不多有点太多了。尽管如此,谢谢你。 – Grateful