什么是Broker模式
轉(zhuǎn)載于http://www.360doc.com/content/18/1122/20/99071_796592097.shtml
這一架構(gòu)模式允許動態(tài)的改變、添加、刪除服務端,從客戶端的角度,這些都是透明的。
結(jié)構(gòu):
Broker模式定義了6中類:Client,Server,Client_Proxy,Server_Proxy,Broker,Bridge。
Server:
l 責任:處理特定領域的問題,實現(xiàn)服務的細節(jié),注冊自己到Broker,處理請求并返回結(jié)果或異常。
l 協(xié)作類:Server_Proxy,Broker
Client:
Client是需要訪問遠程服務的應用程序,為此,Client發(fā)送請求到Broker,并從Broker上接收響應或異常。Client和Server只是邏輯上相關而已,實際上Client并不知道Server的確切位置。
l 責任:1. 實現(xiàn)用戶端功能,2. 發(fā)送請求到Broker,3. 接收相應和異常。
l 協(xié)作類:Broker,Client_Proxy
Broker:
Broker可以被看成消息轉(zhuǎn)發(fā)器。Broker也負責一些控制和管理操作。它能夠定位服務端的位置,若發(fā)生異常,能夠?qū)惓2东@傳給Client。Broker需要提供注冊服務的接口給Server。如果請求來自其他的Broker,本地的Broker需要轉(zhuǎn)發(fā)請求并最終將結(jié)果或異常回應給相應的遠程Broker。Broker提供的服務和name service非常相像(如DNS、LDAP)。
l 責任:1. 注冊服務。2. 提供服務API。3. 轉(zhuǎn)發(fā)消息。4. 容錯處理。5. 與其他Broker的交互。6。 定位服務。
l 協(xié)作類:Client_Proxy,Server_Proxy,Bridge
Client_Proxy:
連系Client和Broker,這一層保證了通訊的透明性,使Client調(diào)用遠程服務就像調(diào)用本地的服務一樣。
l 責任:1. 封裝特定的系統(tǒng)調(diào)用。2. 封裝通訊的參數(shù)、控制信息等。
l 協(xié)作類:Client,Broker。
Server_Proxy:
Server_proxy是與Client_Proxy相對應的,它接受請求,解包消息,解析出參數(shù)并調(diào)用服務的實現(xiàn)接口。
l 責任:1. 封裝特定的系統(tǒng)調(diào)用。2. 封裝通訊的參數(shù)、控制信息等。3. 調(diào)用server的服務接口。
l 協(xié)作類:Server,Broker。
Bridge:
Bridge用來連接各個Broker,一般這個組件是可選的。當系統(tǒng)是發(fā)雜的網(wǎng)絡組成時,有可能需要這一角色。
l 責任:1. 封裝特定的網(wǎng)絡特性。2. 傳遞Broker之間的通訊。
l 協(xié)作類:Broker。
應用場景一:
直接通訊方式。Client和Server相互理解他們之間的通訊協(xié)議。Broker主要完成Client和Server之間的握手。之后所有的消息、異常都是由Client與Server直接交互。(想象DNS)。簡單對象交互如圖:
總結(jié)
以上是生活随笔為你收集整理的什么是Broker模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android系统介绍与框架
- 下一篇: 没有路由器wifi密码怎么设置没路由器如