网络应用程序运行在网络边缘的端系统上,彼此通过通信完成某项任务。
开发一种新的网络应用首先要考虑的就是网络应用程序在各种端系统上的组织方式和它们之间的关系
目前流行的有:
- 客户/服务器(Client/Server,C/S)方式
- 对等(Peer-to-Peer,P2P)方式
C/S方式
- 客户和服务器是指通信过程中所涉及的两个应用进程
- 客户/服务器描述的是进程之间服务和被服务的关系
- 客户是服务请求方,服务器是服务提供方
- 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号,运行服务器的主机也具有固定的IP地址
- 基于C/S的应用服务通常都是服务集中型,即应用服务集中在网络中比客户计算机少得多的服务计算机上
- 由于客户计算机远比服务器计算机多得多,所以常常出现服务器计算机跟不上众多客户计算机的请求的清空
- 为此,C/S应用中常用计算机集群构建一个强大的虚拟服务器
P2P方式
- 在P2P方式中,没有固定的服务请求者和服务提供者
- P2P的应用是服务分散型的,因为服务不是集中在少数的服务器计算机中
- P2P的最突出的特性之一就是它的可拓展性,因为系统每增加一个对等方,不仅增加服务的请求者,同时增加了服务的提供者,系统性能不会因规模增大而降低
- P2P具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽