Logons simultâneos em um web farm
-
09-06-2019 - |
Pergunta
Eu realmente estou perguntando isso por procuração, outra equipe de trabalho teve um pedido de alteração de nosso cliente.
O problema é que o nosso cliente não deseja de seus colaboradores, para fazer o login com um usuário mais de um ao mesmo tempo.Que eles estão ficando bloqueada e o compartilhamento de logins.
Uma vez que este está em um web farm, qual seria a melhor maneira de lidar com este problema?
Não o cache do banco de dados causar problemas de desempenho?
Solução
Você poderia olhar para usar um cache distribuído do sistema como o memcached
Isso resolveria esse problema muito bem (é MUITO mais rápido do que um banco de dados), e também é excelente para a cache de praticamente qualquer coisa muito
Outras dicas
É apenas um custo de fazer negócios.
Sim, o cache para um banco de dados é mais lenta do que em cache no seu servidor.Mas você tem para armazenar informações de estado em um local centralizado, caso contrário, um servidor web não vai saber o que os usuários estão conectados no outro.
Suposição:Você está tentando evitar que vários concorrentes de log-ins por um único usuário.
Uma operação de banco de dados de login e logout não causar um problema de desempenho.
- Se você estiver usando um proxy de cache, que vai causar um problema:
- um usuário entrar, mas não ser capaz de fazer logon até que o logout atinge o cache
O seu maior problema em potencial pode ser:
- se o aplicativo/caixa de falhas, sem a chance de o usuário sair da sessão, o estado do usuário no banco de dados permanecerá "conectado".
Depende de como a autenticação é feita.Se você armazenar o último início de sessão com êxito datetime (qualquer que seja o back-end), então talvez você pode alterar o esquema para armazenar um sinalizador "logged_in" e que não envolvem um rendimento extra custo.(ok, não é limpo)