网络应用的体系结构
可能的应用架构:
- 客户端-服务器模式(C/S)
- 对等模式(P2P)
- 混合体:客户端-服务器 + 对等 体系结构
C/S体系结构
服务器
- 服务器一直运行
- 固定的IP地址和周知的端口号(约定)
- 扩展性:服务器场(通过数据中心进行扩展)
客户端
- 主动与服务器通信
- 与互联网有间歇性的连接
- 可能是动态IP地址
- 不直接与其他客户端通信
缺点:
扩展性差、可靠性差(资源全都集中在服务器)
对等体系结构
- (几乎)没有一直运行的服务器
- 任意端系统之间可以进行通信
- 每一个节点既是客户端又是服务器
- 自扩展性-新peer节点带来新的服务能力,当然也带来新的服务请求
- 参与的主机间歇性连接且可以改变IP 地址
- 例子: Gnutella,迅雷
进程
进程:在主机上运行的应用程序
- 在同一个主机内,使用进程间通信机制通信(操作系统定义)
- 不同主机,通过交换报文(Message)来通信
客户端进程:发起通信的进程
服务器进程:等待连接的进程
(P2P架构中虽然每个节点是对等的,但在一次对话中也有客户端与服务器之分)