解释2层和2层的不同层次。 3层架构?

时间:2010-02-04 11:17:50

标签: architecture n-tier-architecture

我无法理解哪些元素被称为第一层,第二层和第二层。第三层&他们居住的地方。它们可以驻留在同一台机器或不同的机器上。哪一层驻留在哪台机器上?我们如何将特定应用程序标识为2层应用程序或3层应用程序。请用例子说明

6 个答案:

答案 0 :(得分:43)

Wikipedia比我更好地解释了

从文章 - Top是第1层: alt text

答案 1 :(得分:38)

首先,我们必须区分层和层。层是逻辑上将代码分解为组件的方式,层是放置组件的物理节点。这个问题更好地解释了: 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

答案 2 :(得分:9)

以下是2Tier和3Tier差异的一些帮助,请参阅下文。

解答:
1. 2Tier是客户端服务器架构,3Tier是客户端,服务器和数据库架构 2. 3Tier有一个中间阶段将客户端与服务器进行通信,其中2Tier客户端直接与服务器进行通信 3. 3Tier就像一个MVC,但在拓扑结构方面存在差异 4. 3Tier是线性意味着请求流是客户端>>>中间层(SErver应用程序)>>>数据库服务器和响应是反向的。
  在2Tier中它是三角视图>>控制器>>模型
5. 3Tier是网站,而网页浏览器是客户端应用程序(中间层),而ASP / PHP语言代码是服务器应用程序。

答案 3 :(得分:3)

层级只是关注点的分离,通常表示层(用户可见的表单或页面)与数据层分离(类或文件与数据库交互)。这种分离是为了提高可维护性,可扩展性,可重用性,灵活性和性能。

可以在http://www.dotnetfunda.com/articles/article71.aspx

阅读有关3层和4层架构演示代码的详细解释

答案 4 :(得分:2)

Dan的链接中提供了一般性解释。


对于您提出的具体问题:

它们可以驻留在同一台机器上,即使是在同一个进程中(JVM for Java)。这是一个逻辑上的区别(他们做了什么?),而不是物理上的区别(他们在哪里?)。

答案 5 :(得分:-1)

在现代的双层架构中,服务器同时包含应用程序和数据。应用程序驻留在服务器而不是客户端上,可能是因为服务器将具有比PC更多的处理能力和磁盘空间。

在三层体系结构中,数据和应用程序分成单独的服务器,服务器端分布在数据库服务器和应用程序服务器之间。客户端是前端,只是请求和显示数据。原因是每个服务器都将专门处理数据或应用程序请求,因此会出现一个更易于管理的系统,并且会减少对资源的争用。

您可以参考Difference between three tier vs. n-tier