您查看的文章来源于http://www.oklinux.cn
IBM HTTP Server 是 Web 基础架构的重要起点
学习像,这些都保存在 Web 服务器本地。这种系统对于静态内容很合适,而且目前仍然是许多网站的重要组成部分。
糟糕的是,静态内容不多,Web 服务器可以访问的永久保存在文本文件中的内容也不多。对于与业务相关的内容尤其如此,比如客户信息、库存和价格信息、产品数据表单和其他经常改变的信息。这些信息往往存储在 Web 服务器内容目录之外的其他数据源中,通常是数据库等外部数据源。
2 层体系结构
企业需要访问存储在外部数据源中的动态内容,因此开发了 2 层 Web 体系结构。在 2 层模型中,Web 服务器直接访问其他数据源(比如数据库)。这些数据源通常存储在 Web 服务器所在的系统上,但是也可以存储在另一个系统上,Web 应用程序可以通过网络直接访问此系统。
2 层 Web 应用程序是标准的客户机-服务器系统。在这种系统中,使用数据接口协议(比如 Common Gateway Interface (CGI))实现 Web 服务器和外部数据源之间的直接通信,可以使用各种 Web 脚本语言,比如 Cold Fusion、Java? servlet、JavaServer Pages? (JSP)、Microsoft? Active Server Pages (ASP) 和 PHP。Web 应用程序和相关数据源所需的所有连接和业务逻辑都编码在 Web 应用程序中,Web 应用程序直接访问它需要的数据,无论数据存储在本地还是远程位置。
2 层应用程序非常适合许多交互式网站和 Web 应用程序,由于 Web 应用程序代码和应用程序访问的数据源之间形成紧密耦合,这种应用程序可以提供高性能。因为本地数据库访问没有网络延迟的问题,所以它通常比远程数据库访问快。
2 层应用程序的缺点是,在处理大量请求或维护大量 Web 客户机的状态信息时效率很低。使用 Web 服务器本地的数据库和其他数据源会增加复制和备份的难度,还会增加 Web 服务器的负载。另外,如果在 Web 服务器本地存储数据库或数据库访问信息,那么在系统被入侵时导致的损失会更大。
3 层体系结构
为了访问远程数据源,3 层体系结构使用称为应用服务器 的中间件。应用服务器可以在 Web 服务器所在的系统上运行,也可以在另一个系统上运行。Web 服务器作为 Web 客户机与应用服务器之间的中介,而应用服务器作为应用程序逻辑和远程数据之间的中介。
与 2 层体系结构相比,3 层体系结构有几个优点:
●因为 Web 应用程序访问的数据存储在其他系统上,所以可以提高大通信量 Web 服务器的性能。数据库(或其他数据源)服务器并不在 Web 或应用服务器所在的系统上运行,这会减轻系统的负载。同样,远程数据库、内容管理系统 (CMS) 和其他数据源的备份等管理任务不会影响 Web 或应用服务器的性能。
●可伸缩性更高,能够更好地管理服务器和数据源。很容易复制 Web 和应用服务器,从而实现负载平衡。3 层体系结构可以在多个 Web 和应用服务器之间实现自动的故障转移,这会提高 Web 应用程序的可用性。可以智能化地管理到远程数据源的连接。
●提高远程数据的安全性,因为远程数据并不存储在 Web 服务器(通常还有应用服务器)所在的系统上。Web 服务器被入侵并不会直接泄露数据。
流行的 3 层应用服务器的链接见 参考资料。
单独体系结构与多层体系结构
单独的 Web 服务器适合交付静态内容的网站。2 层体系结构支持需要动态数据访问的 Web 应用程序,而且速度非常快,容易管理和调试,因为 Web 应用程序直接访问它们使用的数据。3 层体系结构可以在多台计算机之间分配工作负载,支持高容量 Web 应用程序、提高数据安全性并提供集中的管理。
2 层和 3 层体系结构通称为多层体系结构,因为交付给 Web 客户机的内容来自多个数据源,交付过程要使用多种软件。