应用程序体系结构
-
在
web
应用程序中,有两个互相通信的不同的程序- 一个是运行在用户主机上的浏览器程序
- 另一个是运行在
web
服务器主机上的web
服务器程序
-
应用程序体系结构
- 由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序
- 在选择应用程序体系结构时应用程序研发者很可能利用现代网络应用程序中所使用的两种主流体系结构之一
- 客户-服务器体系结构
- 对等(P2P)体系结构
-
客户-服务器体系结构 (client-serve architecture)
- 有一个总是打开的主机称为服务器,他服务于来自许多其他称为客户的主机请求
- 在该体系结构中,客户相互之间是不直接通信的
-
P2P体系结构
- 对位于数据中心的专用服务器由最小的(或者没有)依赖
- 应用程序在间断连接的主机之间使用直接通信,这些主机对被称为对等方,这些对党放并不为服务器提供商所有,相反却为用户控制的桌面机和膝上机所有,大多数对等方驻留在家庭、大学和办公室
- P2P体系结构最引人入胜的特征之一是它们的自扩展性
- 例如,在一个P2P文件共享应用中,尽管每个对等方都有雨请求文件产生工作量,但是每个对等方通过向其他对等方分发文件也为系统增加服务能力
- P2P通常不需要庞大的服务器基础设施和服务器宽带(这与具有数据中心的客户-服务器设计形成反差)
- 未来P2P应用面临的三个主要挑战
- ISP友好
- 安全性
- 激励