2008-08-28 56 views
1

我真的是通过代理问这个问题,另一个团队在工作中有一个来自我们客户的变更请求。并发登录在网络农场

问题是我们的客户不希望他们的员工同时用一个以上的用户登录。他们被锁定并共享登录信息。

既然这是在一个网络农场,那么解决这个问题的最好方法是什么?

不会缓存到数据库会导致性能问题?

回答

7

你可以看看使用分布式缓存系统,如memcached

这将解决这个问题非常好(这是远远快于数据库),且具有优异的高速缓存几乎什么都太

6

这只是做生意的成本。

是的,缓存到数据库比缓存在您的网络服务器上慢。但是你必须将这些状态信息存储在一个集中的位置,否则一个Web服务器不会知道用户登录到另一个Web服务器。

假设:您试图阻止单个用户进行多个并发登录。

1

这取决于如何完成身份验证。如果您存储上次成功的登录日期时间(无论后端是什么),那么也许您可以更改架构以存储“logged_in”标志,并且不会涉及额外的性能成本。 (好吧,它根本不干净)

3

登录和注销时的数据库操作不会导致性能问题。

  • 如果您使用缓存代理,这将导致一个问题:
  • 用户将注销,但将无法直到注销到达高速缓存重新登录

你最大的潜在问题可能是:

  • 如果应用程序/箱崩溃没有机会为用户注销时,用户的数据库中的状态将保持“登录”。