2012-07-12 144 views
2

我正在啓動一個新的企業Web應用程序。它將被託管在Windows Azure上,並將成爲一個與SQL數據庫交談的asp.net MVC應用程序。Windows Azure多租戶

我的問題涉及到多租戶和實現它的正確方法。在過去,我創建了一個多租戶應用程序,擁有一個租戶表,並在每個表中放置一個TenantID列。這工作得很好(但它只是在一個較小的規模,所以它沒有真正的運動到第n級)。縱觀Azure上的多租戶內容,似乎並不推薦這種方式。他們談論子域名,分裂租戶等等。對我而言,這看起來像是一場管理噩夢。我希望用戶打一個網站,輸入他們的租戶登錄詳細信息和他們關閉的繁榮。

  1. 是否有更簡單的方法來實現Azure中的多租戶,這仍然允許我使用Azure的可伸縮性優勢?
  2. 我應該只使用簡單的TenantID方法嗎? Azure框架是否仍能很好地適應?
  3. 我是否應該在開始時擔心租約,或者直到最後?

需要諮詢。

謝謝

回答

1

我已經在Azure上做到了這兩種方式。我已經按照您以前在登錄時輸入租戶代碼的方式完成了這項工作,並且工作正常,但我沒有看到有任何不同的理由。您可以使用SQL Azure聯合來管理租戶,以便您可以輕鬆地獲得多個數據庫以實現可伸縮性。

我之後也使用子域方法來標識租戶,但它所做的只是將子域映射到租戶代碼。我在一個他們不需要登錄的系統中使用它,這對用戶來說更容易。

如果僅僅設計數據庫來應付它,一開始就擔心。

+0

那麼SQL Azure聯合會處理擴大數據庫的大小和流量增加? – Matt 2012-07-12 07:00:32

+0

聯盟不會自動擴展,但他們爲您提供了輕鬆完成的工具。例如,您可以從管理工具Tenant 1-10中進入一個數據庫,11-20在另一個數據庫中,它將爲您處理。 – Craig 2012-07-12 11:15:27