分布式系统中的会话管理

时间:2017-03-08 09:44:19

标签: python message-queue session-management

我有两个Web服务器(server1,server2)和多个Web应用程序(20+)正在运行。某些应用程序(10+)需要ldap身份验证才能访问。我想实现单点登录'使用ldap身份验证来维护会话。

我的建议:一旦用户登录任何应用程序,然后为持久密钥值存储中的每个用户维护一个唯一密钥,具有时间戳和生命周期。
timestamp->当用户登录时。
lifetime->谁认证应该有效。

实施此功能的最佳方法是什么? 我想到的第一件事就是持久消息队列。任何建议是什么是最佳方式以及选择哪个持久性消息队列。

注意:我可以在server1或server2中运行此会话管理,两者都可能会关闭。 (选择语言:Any,Preferable python。)

如果问题陈述不明确,请发表评论。

1 个答案:

答案 0 :(得分:1)

您正在寻找的东西似乎就像redis后端会话商店。

Django中有一个可用于此解决方案的库: https://github.com/martinrusev/django-redis-sessions

来自Flask的正式宣传片: http://flask.pocoo.org/snippets/75/

如果您在与应用程序不同的服务器上运行redis会话存储,则在您的某个应用程序服务器出现故障时,您的身份验证系统仍应正常运行。