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

38
我不理解什么元素被称为一级、二级和三级元素,以及它们所在的位置。它们可以存在于同一台机器上,还是不同的机器上?哪个层次的元素放置在哪个机器上?我们如何将特定的应用程序标识为二层或三层应用程序?请举例说明。
6个回答

44

维基百科 更好地解释了它。

从这篇文章中得知-顶层是第一层:alt text


谢谢你的回答! - Francis Saul

39
首先,我们必须区分层和层级。层是逻辑上将代码分成组件的方式,而层级则是放置组件的物理节点。这个问题解释得更好: “Layers”和“Tiers”有什么区别? 两层架构通常只包括表示层和数据存储层。这些可以在1层(1台计算机)或2层(2台计算机)上进行,以通过分发工作负载实现更好的性能。
三层架构通常在表示层和数据存储层之间放置一些内容,例如业务逻辑层或服务层。同样,您可以将其放入1、2或3层中,具体取决于您用于硬件的资金以及您期望的负载量。
在一层中放置多台计算机将有助于提高系统的健壮性,从而提供冗余。
下面是分层架构的一个很好的例子: alt text (来源:microsoft.com 关于所有这些的一个很好的参考可以在MSDN上找到: http://msdn.microsoft.com/en-us/library/ms978678.aspx

9
以下是2层和3层架构的区别,请参考以下内容:
答案: 1. 2层是客户端服务器架构,而3层是客户端、服务器和数据库架构。 2. 3层有一个中间阶段来通信客户端到服务器,而在2层中,客户端直接与服务器通信。 3. 3层就像MVC,但在拓扑上有所不同。 4. 3层是线性的,意味着请求流是客户端 >>> 中间层(服务器应用程序) >>> 数据库服务器,响应则相反。而在2层中,是三角形视图 >>> 控制器 >>> 模型。 5. 3层就像网站,而Web浏览器是客户端应用程序(中间层),ASP/PHP语言代码是服务器应用程序。

3
层次结构就是关注点的分离,通常将表现层(用户可见的表单或页面)与数据层(与数据库交互的类或文件)分开。这种分离是为了提高可维护性、可扩展性、可重用性、灵活性和性能。
有关3层和4层架构的良好解释和演示代码可以在此处阅读:http://www.dotnetfunda.com/articles/article71.aspx

2

关于一般性的说明,请参考Dan提供的链接。


对于你所问的具体问题:

它们可以存在于同一台机器上,甚至在同一个进程 (Java的JVM中) 中。这是一种逻辑上的区分(它们做什么?),而不是物理上的区分(它们在哪里?)。


-1
在现代的两层架构中,服务器同时承载应用程序和数据。应用程序驻留在服务器上而不是客户端,这可能是因为服务器比个人电脑拥有更多的处理能力和磁盘空间。
在三层架构中,数据和应用程序被分割到不同的服务器上,服务器端被分布在数据库服务器和应用服务器之间。客户端是一个前端,仅请求和显示数据。原因是每个服务器将专门处理数据或应用程序请求,因此系统更易于管理,资源争用更少。
您可以参考三层架构与N层架构的区别

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接