在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:不同订阅者的消费端
写下此随笔,仅仅把把自己对“事件消息系统”的感观认识记录。
由于思考和整理时间很短,此概念模型存在很多缺陷之处,还望大家多多指点。
评论加载中...- 2009-5-14My97DatePicker(日期控件)的使用及问题
- 2009-5-14Java网络编程从入门到精通(13):使用Socket类接收和发送数据
- 2009-5-14理解JVM如何使用Windows和Linux上的本机内存 上
- 2009-5-14理解JVM如何使用Windows和Linux上的本机内存 下
- 2009-5-14使用Java编写Oracle存储过程
- 2009-5-13Java程序开发中的简单内存分析
- 2009-5-13eclipse + JBoss 5 + EJB3开发指南(2):编写有状态的SessionBean
- 2009-5-13eclipse + JBoss 5 + EJB3开发指南(1):编写第一个无状态的SessionBean
- 2009-5-13浅谈Seam 中的取数据的问题和@Factory的使用
- 2009-5-13事件消息通知系统
