標籤:des 使用 os io 資料 for art cti
解釋WIB 是什麼之前,先回顧以下我們前面的各種服務工作方式。前面的各種服務的工作方式都是請求/應答方式。
用戶端發送請求,伺服器端根據用戶端的請求,返回相應的結果。這種方式是一種順序式訪問,是一種緊耦合的方式。
伺服器被動接受訪問,伺服器無法直接給用戶端發訊息。針對這種情況出現了發布/訂閱者式。現在這種方式很熱呀!
發布/訂閱者式類似出版社發行雜誌,出版社每年要求大家訂閱雜誌,當你訂閱後,每月到時,不管你有沒有問,
雜誌都會準時送到你家門口。對於電腦系統類別似,當你訂閱了伺服器上的某種訊息後,不管你是否一直訪問?當服
務器上的這個訊息來時,用戶端就會自動觸發訊息事件。用戶端就可以針對該訊息進行相應的處理。
每一個發行者與訂閱者串連在一個虛擬匯流排上,這個匯流排就叫WIB(Wide Information Bus).叫Information Bus,
是因為這是一個虛擬資訊傳輸通道。wide 是因為這個匯流排可以傳輸任何KbmMW 識別的資料類型。比如說數組、流、
資料集等等。
任何串連在WIB 上的伺服器或者用戶端都可能作為發行者或者是訂閱者,因此在WIB 裡面不再區分伺服器與用戶端,
統一將他們稱為節點(nodes).任何節點都可以生產或者消費訊息。
WIB 既可以在一個區域網路內,也可以跨越到intranet,乃至這個internet 上。
是一個典型的多網段的發布/訂閱者式的原理圖
中所有的伺服器與PC 都是節點。當然有的只發布資訊,有的只接受資訊,有的即發布資訊也接受資訊。既然是發布/訂閱者式,作為雙方通訊,
肯定就要一個主題(subject). 發行者發布主題,訂閱者訂閱主題。當發行者發布一個主題時,根據訂閱者的要求。發送到對應的訂閱者。
在KBM中,主題是一個支援萬用字元的字串組成的,類似上面圖裡面的MSG.A.B.C,每個. 表示不同的訊息劃分。主題的開始必須是這些
打頭的:MSG, REQ, RES, SUB, USB, CAC,THR, SRV。
先簡單的說一下訊息匹配的方式,比如說發布的主題為: MSG.F.G, 那麼訂閱者可以訂閱MSG.F.G, 也可以訂閱MSG.*.G
也可以訂閱MSG.F.> . 上面三種方式都可以收到訂閱的訊息。