Webservice que lida com 1 milhão de contas de usuário
-
19-09-2019 - |
Pergunta
Imagine que você está escrevendo uma aplicação web que terá 1 milhão de usuários (todos eles crescem tão grande, certo!)
Como é que você lida com as contas de usuário? Posso imaginar alguns cenários:
- rolar o seu próprio (tabelas de banco de dados, salgados / hash de senhas armazenadas em uma tabela de perfil de usuário)
- Se escrito com ASP.NET, use o / provedor de login papel (que cai de volta para o banco de dados)
- Use Active Directory se em um ambiente Windows
- Use algum outro servidor LDAP
- Um provedor como o 3o partido OpenID ou .NET Passport
Estabilidade e escalabilidade são, naturalmente, importante.
Eu acho que isso é realmente uma questão de saber se o Active Directory e outros servidores LDAP escala bem e facilmente. O que fazer Facebook, Twitter e Gmail uso como sua conta provedor back-end?
O que me fez pensar sobre isso é o Google App Engine. Muito legal olhar. Mas os usuários precisam ter uma Conta do Google se eu usasse o material de autenticação embutido. Ou com # 5 acima, os usuários teriam de ir buscar um OpenID. Eu estou tentando fazê-lo para que eles possam fazer apenas uma simples sinal com o meu site, sem a necessidade de visitar outros sites - para os não-geeks do mundo:)
Solução
Gostaria de pedir a alguém que tinha realmente trabalhou em um sistema que serve para que muitos usuários.
Eu gostaria de encontrar outros sistemas como este, e olhar para estudos de casos que foram escritos sobre eles. (Pergunte a Microsoft, Oracle, IBM, etc.).
Mas, para a usabilidade você quer necessidade de implementar um single sign on solução, assim os usuários não precisam conhecer seus detalhes de login. (Perfeito para o mundo corporativo.)
ou
Você tem que ir com o que os usuários saibam, que é um endereço de e-mail / nome de usuário e senha.
OpenID ou similiar sistemas são horríveis para usuários não técnicos.
(Note, qualquer um que olha este é um usuário técnico.).
Outras dicas
OpenID.
Se você deve dar aos usuários a opção de criar uma conta em seu site, tornar-se um OP.