客戶端-服務器架構
分布式应用程序结构计算
客戶端-服務器架構(英語:Client-server model),也稱C/S架構、主
主從式架構通過不同的途徑應用於很多不同類型的應用程序,最常見的用途為萬維網上的網頁。例如,當在維基百科閱讀文章時,電腦和網頁瀏覽器即為客戶端;同時,組成維基百科的電腦、數據庫和應用程序即為服務器。當網頁瀏覽器向維基百科請求指定的頁面時,維基百科服務器從維基百科的數據庫中找出所有該頁面需要的信息,結合成一個網頁,再發送回瀏覽器。
特徵
主從式架構意圖提供一個可伸縮(英語:scalable)的架構,藉此網上的計算機或者處理過程是一個客戶端或者服務器。服務器軟件一般,但不總是,運行在強大的專用商業計算機上。另一方面,客戶端一般運行在普通個人電腦或者工作站上。
服務端的特徵:
- 被動的角色(從)。
- 等待來自用戶端的請求。
- 處理請求並傳回結果。
用戶端的特徵:
- 主動的角色(主)。
- 發送請求。
- 等待直到收到響應。
服務器可以是有狀態或者無狀態的。無狀態的服務器不會保留任何兩個請求之間的信息,有狀態服務器會記住請求之間的信息。這些信息的作用域可以是全局的或者某個事務 (session)的。像Apache HTTP等只提供靜態HTML頁面的網頁服務器是一個無狀態服務器的例子,像Apache Tomcat等網頁應用服務器是一個有狀態服務器。
伺服端與用戶端的互動經常使用循序圖描述,循序圖是UML中的一個標準。
與點對點技術的比較
另一種目前廣範使用的網路架構類型是點對點架構(P2P),不同於主從式架構,網路上的每個使用端或程式的實體都擁有相同的等級,同時扮演用戶端與伺服器的角色。
參見
其他網絡架構
參考文獻
- ^ 辭典檢視 [主從式架構 : ㄓㄨˇ ㄗㄨㄥˋ ㄕˋ ㄐㄧㄚˋ ㄍㄡˋ] - 教育部《重編國語辭典修訂本》. 中華民國教育部. (原始內容存檔於2022-12-04).
- ^ Distributed Application Architecture (PDF). Sun Microsystem. [2009-06-16]. (原始內容 (PDF)存檔於2011-04-06).