2013-06-20 68 views
1

背景 - 目前爲止我的理解 - 由於所有成員數據都位於同一個分區中,因此在用戶基數增長至數百萬之後,很可能會導致長表掃描。Azure TableStorageMembershipProvider是否真的適合處理數百萬用戶?

目前,我僅基於電子郵件和密碼向系統註冊用戶。我也有一個駐留在Azure SQL上的用戶表,並且我在應用程序級別保持兩者之間的約束。 「外鍵」是電子郵件地址。

使用成員資格提供者搜索用戶是通過電子郵件而不是UserId/key來完成的。

除了首頁,網站的其他部分需要驗證,因此我期望使用Membership會很重要,但不是很大,因爲在驗證之後,用戶會被緩存幾分鐘。

您是否認爲使用基於成員的表格存儲對於數百萬用戶來說通常是一種很好的做法?

對於我的具體情況,您有什麼建議?

+0

我建議你不要使用字符串作爲外鍵,如果你期望這樣的數據加載。否則,雲的想法是可擴展性,所以我天真地認爲他們可以處理它。 – Alexander

回答

2

成員提供者是一個應該擺脫苦難的2005 .NET 2遺蹟。它在現代網絡架構中沒有地位。應用程序應該使用基於聲明的授權,並將身份卸載到更有能力的服務上。看看Azure ACS,Azure活動目錄,Thinktecture Identity Server,它們全部的組合或其他令牌服務。

如果您認真對待能夠擴展至數百萬用戶,那麼您需要認真考慮關於身份的難題,因爲這很重要。使用會員提供商會將您描繪成與您的野心不符的建築角落。

2

據我所知,表成員資格提供者沒有官方支持,並且可能在一段時間內沒有更新。因此,除了最基本的演示目的之外,我會猶豫不決。我可能會建議看看使用Windows Azure Active Directory。這項服務對於基本的身份管理是免費的,並且可以很容易地集成到應用程序中。 Windows Azure Active Directory也是Office 365使用的相同解決方案,因此它應該非常方便地滿足您的需求。

相關問題