主從式架構

主從式架構 (Client–servermodel) 或客戶端-伺服器(Client/Server)結構簡稱C/S架構,是一種網路架構,它把客戶端 (Client)(通常是一個採用圖形用戶界面的程式)與伺服器(Server) 區分開來。每一個客戶端軟體的實例都可以向一個伺服器或應用程式伺服器發出請求。

簡介

主從式架構 (Client–servermodel) 或客戶端-伺服器(Client/Server)結構簡稱C/S架構,是一種網路架構,它把客戶端 (Client)(通常是一個採用圖形用戶界面的程式)與伺服器(Server) 區分開來。每一個客戶端軟體的實例都可以向一個伺服器或應用程式伺服器發出請求。有很多不同類型的伺服器,例如檔案伺服器、終端伺服器和郵件伺服器等。雖然它們的存在的目的不一樣,但基本構架是一樣的。

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

主從式架構由美國Borland公司最早研發,目前最流行的兩大主流軟體體系結構之一,另一個是美國微軟公司研發的瀏覽器-伺服器(Browser/Server,B/S)結構。伺服器端一般使用高性能的計算機,並配合Oracle、Sybase等大型資料庫;客戶端需要安裝專門的軟體。在這種結構下,可以在伺服器和客戶端平衡服務處理量,但因為客戶端安裝了專門的軟體,對平台有一定限制要求,安裝和維護的工作量大。

特徵

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

服務端的特徵:

•被動的角色(從)。

•等待來自客戶端的請求。

•處理請求並傳回結果。

客戶端的特徵:

•主動的角色(主)。

•傳送請求。

•等待直到收到回響。

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

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

與點對點技術的比較

另一種已知的網路架構類型是點對點技術(peer-to-peerarchitecture),不同於主從式架構,網路上的每個使用端或程式的實體都擁有相同的等級,同時扮演用戶端與伺服器的角色。Peerto peer 常被縮寫成P2P。

此兩種架構目前都被廣范使用,可以找尋有關中心式網路(Client-Server)或非中心式網路(Peer-to-peer)得到更詳細的資訊,此兩種架構都可於Windows 與Linux上面使用 。

點對點網路

對等式網路(peer-to-peer, 簡稱P2P),又稱點對點技術,是無中心伺服器、依靠用戶群(peers)交換信息的網際網路體系,它的作用在於,減低以往網路傳輸中的節點,以降低資料遺失的風險。與有中心伺服器的中央網路系統不同,對等網路的每個用戶端既是一個節點,也有伺服器的功能,任何一個節點無法直接找到其他節點,必須依靠其戶群進行信息交流。

P2P節點能遍布整個網際網路,也給包括開發者在內的任何人、組織、或政府帶來監控難題。P2P在網路隱私要求高和檔案共享領域中,得到了廣泛的套用。使用純P2P技術的網路系統有比特幣、Gnutella,或自由網等。另外,P2P技術也被使用在類似VoIP等實時媒體業務的數據通信中。有些網路(如Napster、OpenNAP,或IRC@find)包括搜尋的一些功能,也使用客戶端-伺服器結構,而使用P2P結構來實現另外一些功能。這種網路設計模型不同於客戶端-伺服器模型,在客戶端-伺服器模型中通信通常來往於一個中央伺服器。

相關搜尋

熱門詞條

聯絡我們