2013-06-20 4 views
1

Фон - мое понимание до сих пор - Поскольку все данные членства будут в одном разделе, это, вероятно, вызовет длинные сканирование таблицы после того, как пользовательская база выросла до миллионов.Is Azure TableStorageMembershipProvider действительно подходит для обработки миллионов пользователей?

В настоящее время я регистрирую пользователей в своей системе, основываясь на электронной почте и пароле. У меня также есть таблица User, которая находится на Azure SQL, и я сохраняю ограничение между ними на уровне приложения. «Внешний ключ» - это адрес электронной почты.

Поиск пользователей, использующих поставщик членства, осуществляется по электронной почте не по UserId/key.

Рядом с главной страницей остальная часть сайта требуется пройти аутентификацию, поэтому я ожидаю, что использование членства будет значительным, но не огромным, поскольку после аутентификации пользователь кэшируется в течение нескольких минут.

Считаете ли вы, что использование табличного хранилища на основе членства, как правило, является хорошей практикой для миллионов пользователей?

Что вы посоветуете для моего конкретного случая?

+0

Я бы рекомендовал вам не использовать строку в качестве внешнего ключа, если вы ожидаете такой нагрузки данных. В противном случае идея облака - это масштабируемость, поэтому я наивно полагаю, что они могут справиться с этим. – Alexander

ответ

2

Поставщик членства является реликвией 2005 года .NET 2, которая должна быть устранена из-за ее несчастья. Это не место в современных веб-архитектурах. Приложения должны работать с авторизацией на основе утверждений и разгружать личность на более эффективную службу. Посмотрите на Azure ACS, Azure Active Directory, Thinktecture Identity Server, комбинацию из них всех или другие сервисы токенов.

Если вы серьезно относитесь к возможности масштабирования для миллионов пользователей, тогда вам нужно подумать, что действительно сложно о личности - потому что это важно. Использование поставщика членства приведет вас в архитектурный уголок, который не согласуется с вашими амбициями.

2

Насколько я помню, поставщик членства в таблице официально не поддерживается и может быть не обновлен через некоторое время. В результате я бы не решался использовать его ни для чего, кроме самых простых демо-целей. Могу я вместо этого предложить посмотреть на использование Windows Azure Active Directory. Эта услуга бесплатна для базового управления идентификацией и может быть легко интегрирована в приложение. Windows Azure Active Directory также является тем же самым решением, которое используется Office 365, поэтому оно должно удовлетворять вашим потребностям довольно удобно.

Смежные вопросы