企業框架設計-事件處理平臺
基于MQ的事件處理框架
1、事件定義()
<EventDef name=”addDabmzd ”status=”active”
Type=”custom” topic=”HighLevelTopic”>
事件產生方式有兩種:
攔截服務方法發生前后、異常發生后,框架調用事件平臺api產生事件
業務編碼調用事件平臺api產生事件
2、消費者注冊(注冊訂閱關系)
<EventConsumer id=”c1” name=””>
<Service name="Service2" onEvent=””/>
<Service name="Service3" onEvent=””/>
<Events>
<Event name="Topic1/Event1" topic=”HighLevelTopic”/>
</Events>
</EventConsumer>
每臺機器向MQ注冊訂閱關系,MQ最終注冊信息:
c1:topic1/tag(event1),c2:topic2/tag(event2)
管理控制臺增加一個訂閱關系 sevice2-》topic3/event3,
訂閱信息廣播給所有consumer,每個consumer會檢查是否有service2
(系統中每個consumer默認會訂閱一個系統級topic,用于群發消息)
3、事件發送到Mq消息隊列,保證消息處理性能和可靠性,消息不丟失
4、事件接收處理(訂閱相關主題的事件消息)