网络应用程序体系结构
本文来源 : 《计算机网络 自顶向下方法》
应用程序体系结构(application architecture)由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。
现代网络应用程序中使用的两种主流体系结构:
(1)客户-服务器体系结构
(2)对等(P2P)体系结构
客户-服务器体系结构:
有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求。
一个典型的例子是Web应用程序,其中总是打开的Web服务器服务于来自浏览器(运行在客户主机上)的请求。
该体系结构 : 客户之间不直接通信。
该服务器具有固定的,周知的地址,即IP地址。
具有客户-服务器体系结构的非常著名的应用程序包括Web,FTP,Telnet和电子邮件。
可能出现的情况,一台单独的服务器主机跟不上它所有客户请求的情况。
为此,配备大量主机的数据中心常被用于创建强大的虚拟服务器。
P2P体系结构中,对位于数据中心的专用服务器有最小的(或者没有)依赖。
应用程序在主机与主机之间直接通信,这些主机称为对等方。
许多目前流行的,流量密集型应用都是P2P体系结构的。包括文件共享(BitTorrent),对等方协助下载加速器(迅雷),因特网电话和视频会议(Skype)。
某些应用具有混合的体系结构。例如,对于许多即时通讯应用来说,服务器被用于跟踪用户的IP地址,但用户到用户的报文在用户主机之间(无须通过中间服务器)直接发送。