stone2083

          事件消息通知系統

          在SOA架構中,JMS協議中的“點對點”消息方式,已經能夠很好的支持1對1系統之間的通訊;
          但是,類似事件消息的通知(應用產生一個事件消息,其他多個系統做相應處理),理論上JMS協議中的“訂閱”方式,能夠支持此類場景,不過協議說:在消息產生通知訂閱者的時候,如果某個訂閱者系統不在線,則消息丟失--此訂閱者接受不到消息。
          并且,始終抱著對客戶端簡單,友好的態度,我希望client(應用)本身只要發出事件消息,并不需要去關注消息通知哪些訂閱者,而這一切,應該由“事件消息通知系統”,代為完成。

          經過昨天晚上空閑時間的思考,大概設計了“事件消息通知系統”的概念模型。(此概念模型,基于IP,路由,DNS思考得來)
          詳見下圖:


          事件消息通知系統


          概念解釋:
          1)Application:業務應用,一旦有事件消息產生,不再關注需要發送到哪些目的地,只需要統一發送到Event Message Center;

          2)Event Message Center:一切事件消息的暫存地;

          3)Event Message Router:事件消息路由器,根據Event Message Configuration Center(事件消息配置中心,即事件消息路由配置中心),將不同的消息,路由分發到不同的訂閱者目的地;

          4)Event Message Configuration Center:事件消息配置中心,即事件消息路由配置中心;

          5)Event Message Registrar:事件消息登記中心,通過GUI界面,將Event Message Configuration Center中的路由信息展現給用戶,并且允許用戶進行事件消息路由信息的配置;

          6)Event Message Subscription:事件消息訂閱中心,同一類事件消息的暫存地;

          7)Event Message Subscription Distributer:事件消息訂閱分發者,根據Event Message Subscription Configuration Center(事件消息訂閱配置中心)的配置信息,講事件消息分發到不同的訂閱者目的地;

          8)Event Message Subscription Configuration Center:事件消息訂閱配置中心,即事件消息訂閱分發路由信息配置;

          9)Event Message Subscription Registrar:事件消息訂閱登記中心,通過GUI界面,將 Event Message Subscription Configuration Center中的分發路由信息展現給用戶,并且允許用戶進行事件消息訂閱路由信息的配置;

          10)Event Message Destination:事件消息目的地;

          11)Event Message Consumer:不同訂閱者的消費端


          寫下此隨筆,僅僅把把自己對“事件消息系統”的感觀認識記錄。
          由于思考和整理時間很短,此概念模型存在很多缺陷之處,還望大家多多指點。

          posted on 2009-05-07 21:49 stone2083 閱讀(2784) 評論(2)  編輯  收藏 所屬分類: java

          Feedback

          # re: 事件消息通知系統 2009-05-08 08:47 HiMagic!

          基本架構是這樣,不過細節部分還要看具體應用的復雜度,比如訂閱者的多樣性,事件優先級,回應機制等  回復  更多評論   

          # re: 事件消息通知系統 2009-05-11 20:29 stone2083

          多謝指點。細節部分,確實沒有仔細思考過。
          平時忙于項目,太少有空余時間,來思考這些技術性問題。 :(  回復  更多評論   

          主站蜘蛛池模板: 洛宁县| 赣榆县| 望谟县| 莎车县| 永昌县| 望江县| 高要市| 徐汇区| 上饶市| 遵义市| 山东| 高唐县| 蒲江县| 裕民县| 彰化市| 石家庄市| 沾益县| 商洛市| 道真| 金塔县| 霍林郭勒市| 张掖市| 中江县| 闸北区| 舟曲县| 龙口市| 方山县| 昌都县| 横峰县| 尼勒克县| 云阳县| 阿城市| 得荣县| 新巴尔虎右旗| 北辰区| 长沙市| 镇宁| 绥中县| 双鸭山市| 攀枝花市| 宁南县|