Web服务器场中的并发登录
时间:2020-03-05 18:44:44 来源:igfitidea点击:
我真的是通过代理人问这个问题,另一个工作团队收到了我们客户的变更请求。
问题是我们的客户不希望其雇员同时使用一个用户登录多个用户。他们被锁定并共享登录名。
由于这是在Web场上,解决该问题的最佳方法是什么?
缓存到数据库不会导致性能问题吗?
解决方案
回答
这只是做生意的成本。
是的,缓存到数据库比在Web服务器上缓存要慢。但是我们必须将该状态信息存储在一个集中的位置,否则一个Web服务器将不会知道哪些用户登录了另一个用户。
假设:我们试图阻止单个用户进行多个并发登录。
回答
我们可以看看使用像memcached这样的分布式缓存系统
它将很好地解决此问题(比数据库快得多),并且也非常适合缓存几乎所有其他内容
回答
这取决于身份验证的完成方式。如果我们存储上一个成功的登录日期时间(无论后端如何),那么也许我们可以更改架构以存储标志" logged_in",而这不会涉及额外的性能成本。 (好的,根本不干净)
回答
登录和注销时的数据库操作不会导致性能问题。
- 如果我们使用缓存代理,则将导致问题:
- 用户将注销,但在注销到达缓存之前将无法重新登录
我们最大的潜在问题可能是:
- 如果应用程序/盒子崩溃而用户没有机会注销,则数据库中用户的状态将保持"登录"状态。