本页使用了标题或全文手工转换
Padlock-silver.svg

主從式架構

维基百科,自由的百科全书
(重定向自主從架構
跳转至: 导航搜索

主從式架構 (英语:Client–server model) 也称客户端-服务器(Client/Server)架构C/S架构,是一种网络架构,它把客户端 (Client) (通常是一个采用图形用户界面的程序)与服务器 (Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。有很多不同类型的服务器,例如文件服务器游戏服务器等。

主從式架構通过不同的途径应用于很多不同类型的应用程序,最常见就是目前在因特网上用的网页。例如,当你在维基百科阅读文章时,你的电脑和网页浏览器就被当做一个客户端,同时,组成维基百科的电脑、数据库和应用程序就被当做服务器。当你的网页浏览器向维基百科请求一个指定的文章时,维基百科服务器从维基百科的数据库中找出所有该文章需要的信息,结合成一个网页,再发送回你的浏览器。

特征

主從式架構意图提供一个可伸缩 (scalable)的架构,借此网上的计算机或者处理过程是一个客户端或者服务器。服务器软件一般,但不总是,运行在强大的专用商业计算机上。另一方面,客户端一般运行在普通个人电脑或者工作站上。

服務端的特徵:

  • 被動的角色(從)。
  • 等待來自用戶端的请求。
  • 處理请求並傳回結果。

用戶端的特徵:

  • 主動的角色(主)。
  • 發送请求。
  • 等待直到收到响应。

服务器可以是有状态或者无状态的。无状态的服务器不会保留任何两个请求之间的信息,有状态服务器会记住请求之间的信息。这些信息的作用域可以是全局的或者某个事务 (session)的。静态 HTML 页面服务器是一个无状态服务器的例子,Apache Tomcat 是一个有状态服务器。

伺服端與用戶端的互動經常使用循序圖描述,循序圖是 UML 中的一個標準。

與點對點技術的比較

另一種目前廣範使用的網路架構類型是点对点架构(P2P),不同於主從式架構,網路上的每個使用端或程式的實體都擁有相同的等級,同時扮演用戶端與伺服器的角色。

参见

其他网络架构