两层和三层架构有什么区别?

时间:2012-10-10 20:01:33

标签: networking web web-architecture

我在我的应用程序中使用JDBC与业务逻辑(客户端)。此JDBC连接到另一台计算机(服务器)中的数据库。在这种情况下,我的JDBC直接连接数据库并存储&检索数据。这是TWO-TIER架构吗?

在另一个应用程序中,例如servlet编程,我只是在我的客户端机器中使用浏览器,它是表示层(客户端层)。让我将业务逻辑视为应用层(第二层),将数据库视为数据层(第三层)。我仍在使用JDBC将我的应用程序(业务逻辑)与数据库连接起来。第二层和第三层现在驻留在服务器上。

通过上面的示例,在三层体系结构中,浏览器仅添加了额外的内容并将我的业务逻辑保留在服务器上。除了这些,我感觉不到任何性能差异。如果我错了,请纠正我并用其他例子向我解释2层和3层的确切架构。先谢谢亲爱的朋友们。

1 个答案:

答案 0 :(得分:0)

你说的是对的。

  1. 您的第一个示例是双层。
  2. 第二个例子是三层。
  3. 如果浏览器和服务器之间的链接比服务器和DBMS之间的链接慢,则三层体系结构可以表示重要的性能提升。这是因为通常业务逻辑需要对DBMS进行多次调用和/或仅向用户呈现DBMS返回的一小部分信息。在与DBMS连接缓慢的同时在客户端中使用业务逻辑将代表重要的性能损失。

    在典型的Web场景中,客户端和服务器之间的连接通常比服务器和DBMS之间的连接慢几倍,并且可以提高性能。