我正在開發一個基於web的應用程序,其主要目標是從數據庫獲取數據,在UI上顯示它,接收用戶輸入並將它們寫回數據庫。該應用程序不會做任何工業強度算法研究,但將在高峯時間(下面描述)接收非常高的點擊次數,這將在一天中改變...確定一個n層應用程序中的層數
這些圖層是你典型的演示文稿,業務,數據。數據庫由數據庫服務器負責。業務層將包含通過tcp訪問數據庫服務器的DAL組件。我必須將這些層分成層次的選擇是:
的表現層和業務層可以是保持同一 層。
獨立層上的表示層本身和獨立層上的業務層 本身。
在選擇2的情況下,業務層將由表示層使用WCF服務通過http或tcp訪問。
我在業務層看不到任何繁重的處理,所以我傾向於上面的選項1。我也覺得出於同樣的原因,增加一個新層只會引入網絡延遲。但是,就可擴展性而言,如果我需要擴展或擴展,這是更好的方法嗎?此應用程序需要能夠支持每小時600萬用戶。每個用戶會話中都會有合理數量的數據,存儲用戶的偏好和其他詳細信息。我將使用頁面級緩存以及..
感謝您的時間...
嗨喬希,我更新了我的問題...不需要歉意:)我只是想另一種意見,爲什麼我應該真的有一個「應用層」在不同的服務器上... – user20358 2012-03-20 12:59:22
@ user20358我的答案仍然是相同。想想如何構建stackoverflow。你預計是否有類似的流量?每小時從哪裏獲得6M用戶?擴展更多的服務器,而不是更多的組件。像redis一樣使用緩存。在某些情況下,您可能需要n層,例如集成不同組件。但是如果你從頭開始構建所有東西,我認爲它不太可能。 – 2012-03-20 13:03:05
是的,我期待着類似的,如果不是更多的......沒有詳細介紹這個應用程序(我已經爲這個項目簽署了一個非公開的東西),這個數字是由客戶給我們的。雖然它是一個具有合理數量的業務層處理的垃圾郵件應用程序,但它同時並不太強烈。 – user20358 2012-03-20 13:08:12