我們正在完成基於ASP.NET和WCF(適用於不同桌面客戶端)的基於Web的時間跟蹤軟件。我們的客戶可以註冊一個賬戶,並將無限數量的用戶添加到他們的賬戶中。定價與公司帳戶中活躍用戶的數量相關聯。擴展託管的ASP.NET應用程序
爲了使事情簡單易行,我們認爲如果我們將每個帳戶設計爲具有自己的應用程序池,SQL-Server數據庫和子域的單個IIS網站,那麼這將是一個很好的體系結構決策。
不幸的是我們很快遇到內存不足,由於單個工人進程將消耗至少150MB,這意味着,每審單賬戶需要約。 200MB以上內存...
除了這種架構的沉重成本(試行賬戶!),我們不知道它是不是縮放一個很好的決定,設計的建築。
- 您將如何設計這樣的 SAAS應用程序?
- 許多網站的單一應用程序池?
- 單一網站的許多帳戶共享數據庫?
- 垂直縮放(更多功率)水平縮放(更多服務器)?
- 任何有關此主題的好書籍或博客?
謝謝!
查看http://www.codeproject.com/KB/aspnet/ProdArch.aspx。它涵蓋了處理SaaS正常運行時間的想法,幷包含一些通用的架構演講。 – Jemes 2010-09-01 01:17:07
客戶與賬戶的比例是多少?我可能瞭解客戶分段,但這並不能消除您的問題。你是否考慮過每個生產客戶的「試用」池,也許是一個池? – 2010-09-01 13:48:55
1帳戶 - 1個客戶 1個帳戶/客戶 - N個用戶 把所有的試用賬戶到一個應用程序池可能INFACT是相當大的解決方案,以保持內存消耗低。另一方面,它提高了整個系統的複雜性,還需要一個額外的工具,它會自動創建一個試用版激活的新應用程序池... – 2010-09-01 16:31:04