2010-02-04 64 views
31

我無法理解哪些元素被稱爲第一層,第二層&第三層&他們居住在哪裏。他們可以駐留在同一臺機器或不同的機器上。哪一層駐留在哪臺機器上?我們如何將特定應用程序識別爲2層應用程序或3層應用程序。請舉例說明解釋2層和3層架構的不同層次?

回答

40

Wikipedia更好地解釋它,然後我可以

從文章 - 頂部一線: alt text

+0

感謝您的回答! – 2016-01-14 09:26:13

-1

在現代的兩層架構,服務器同時擁有應用程序和數據。應用程序駐留在服務器上而不是客戶端上,可能是因爲服務器比PC有更強的處理能力和磁盤空間。

在三層體系結構中,數據和應用程序分離到單獨的服務器上,服務器端分佈在數據庫服務器和應用程序服務器之間。客戶端是前端,只是簡單地請求和顯示數據。原因是每個服務器將專門處理數據或應用程序請求,因此會出現更易管理的系統和更少的資源爭用。

你可以參考Difference between three tier vs. n-tier

2

一般的解釋是從丹提供的鏈接。


對於具體的問題你問:

它們可以駐留在同一臺機器上,甚至在同一個進程(JVM對Java)。這是一個邏輯的區別(他們做什麼?),而不是一個物理的(他們在哪裏?)。

35

首先,我們必須區分層和層。圖層是將代碼邏輯分解爲組件的方式,層是將組件放置在物理節點上的方式。這個問題更好地解釋了它: What's the difference between "Layers" and "Tiers"?

兩層架構通常只是一個表示層和數據存儲層。這些可以在1層(1臺機器)或2層(2臺機器)上,以通過分配工作負載來實現更好的性能。

三層體系結構通常在表示層和數據存儲層之間放置某些東西,如業務邏輯層或服務層。再次,您可以將其分爲1,2或3層,具體取決於您對硬件有多少錢以及期望的負載。

將多臺機器放在一個層中將通過提供冗餘來幫助系統的健壯性。

下面是一個分層架構的一個很好的例子:

alt text http://i.msdn.microsoft.com/ms978689.Arc_ThreeLayeredSvcsApp_Fig01(en-us,MSDN.10).gif

所有這方面的一個很好的參考可以在這裏找到在MSDN: http://msdn.microsoft.com/en-us/library/ms978678.aspx

3

層級不過是分離關心和一般表示層(用戶可見的表單或頁面)與數據層(類或文件與數據庫交互)分離。這種分離是爲了提高可維護性,可擴展性,可重用性,靈活性和性能,以及完成。

與3層和4層結構的演示代碼的好解釋可以在http://www.dotnetfunda.com/articles/article71.aspx

7

閱讀下面是一些幫助2Tier和3TIER差異,請參考下。

答案:
1. 2層是客戶端服務器架構,3層是客戶端,服務器和數據庫架構。
2. 3TIER有一箇中間階段進行通信客戶機到服務器,如考慮2Tier客戶直接拿到通信服務器。
3. 3Tier就像一個MVC,但是有不同的拓撲結構
4. 3Tier線性方式在請求流是Client >>> Middle Layer(SErver應用程序)>>> Databse server和Response是反向的。
雖然2Tier它一個三角查看>>控制器>>型號
5. 3TIER就像是網站,而網絡瀏覽器是客戶端應用程序(中間層),和ASP/PHP語言代碼是服務器應用程序。