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 阅读(2774) 评论(2)  编辑  收藏 所属分类: java

Feedback

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

基本架构是这样,不过细节部分还要看具体应用的复杂度,比如订阅者的多样性,事件优先级,回应机制等  回复  更多评论   

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

多谢指点。细节部分,确实没有仔细思考过。
平时忙于项目,太少有空余时间,来思考这些技术性问题。 :(  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: