1.简介
ActiveMQ为apache下顶级开源项目,符合jms规约的消息中间件。
关于部署方式,网上有很多这里不再赘述。
2.基于中间件的架构
2.1架构图对比
一、传统架构:
系统间直接互相调用,如果系统比较多那么就会形成网状调用图,各个系统互相嵌入比价深,形成强依赖,可能一个系统变更功能,其余都要有变化,大大加剧维护成本。
【图1】所示,传统架构,各个系统相互调用。财务系统一个接口发生变化,与他相关调用此接口的的系统都会受到影响,都要进行改造。
二、采用基于中间件的架构:
系统间不需要直接互相依赖,以消息的形式和外部系统对接。不需要知道发送到哪个系统,而是由接受消息的系统去订阅相关主题。消息本身为无状态的,发送方不需要等待发送结果。将系统间的强耦合关系弱化。
【图2】所示各个系统均发消息到中间件,需要的系统订阅相应主题的消息,各个系统能达到相对独立的状态。
同样财务系统有变化,其他系统还是一样收发消息,就算某个系统瘫痪,其他系统也能正常运行,消息不可达时,由中间件保障,瘫痪的系统重新拉起后,一定送达。