本頁使用了標題或全文手工轉換

主從式架構

維基百科,自由的百科全書
跳至導覽 跳至搜尋

主從式架構 (英語:Client–server model) 也稱客戶端/伺服器架構C/S架構,是一種網路架構,它把客戶端(Client,通常是一個採用圖形化使用者介面的程式)與伺服器(Server)區分開來。每一個客戶端軟體的實例都可以向一個伺服器或應用程式伺服器發出請求。有很多不同類型的伺服器,例如檔案伺服器遊戲伺服器等。

主從式架構通過不同的途徑應用於很多不同類型的應用程式,最常見就是目前在網際網路上用的網頁。例如,當你在維基百科閱讀文章時,你的電腦和網頁瀏覽器就被當做一個客戶端,同時,組成維基百科的電腦、資料庫和應用程式就被當做伺服器。當你的網頁瀏覽器向維基百科請求一個指定的文章時,維基百科伺服器從維基百科的資料庫中找出所有該文章需要的資訊,結合成一個網頁,再傳送回你的瀏覽器。

特徵[編輯]

主從式架構意圖提供一個可伸縮 (scalable)的架構,藉此網上的電腦或者處理過程是一個客戶端或者伺服器。伺服器軟體一般,但不總是,執行在強大的專用商業電腦上。另一方面,客戶端一般執行在普通個人電腦或者工作站上。

伺服器端的特徵:

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

用戶端的特徵:

  • 主動的角色(主)。
  • 發送請求。
  • 等待直到收到回應。

伺服器可以是有狀態或者無狀態的。無狀態的伺服器不會保留任何兩個請求之間的資訊,有狀態伺服器會記住請求之間的資訊。這些資訊的作用域可以是全域的或者某個事務 (session)的。靜態 HTML 頁面伺服器是一個無狀態伺服器的例子,Apache Tomcat 是一個有狀態伺服器。

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

與點對點技術的比較[編輯]

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

參見[編輯]

其他網路架構[編輯]