消息代理概览

 

  如果为任何两个应用创建单独的消息通道,那么系统中的通道就会呈现出爆炸式的增长,这些通道会多到无法管理的程度。虽然通过发布-订阅可以实现消息广播,但是实际的路由规则往往要复杂的多,为此,就必须要引入中间件,实现发送者与接收者之间的松耦合。但是,如果使用了大量独立的消息路由组件的话,同样会造成难以管理。

  集成变成一团乱麻:

  

 

  使用一个集中的消息代理从多个目标接收消息,确定正确的目标,并把消息路由给正确的通道。消息代理的内部实现使用了其它消息路由器。使用集中的消息代理有时也称为集散式的结构模式。消息代理提供的集中维护是一个优点,但同时也变成了缺点。所有消息都通过一个消息代理进行路由,这会使其成为严重的系统瓶颈。若业务允许,可部署多个代理实例以提高吞吐。

  集散式结构模式:

  

 

  在复杂的集成解决方案中可以设计多个消息代理组件,不过一旦这样的组件过多就又会出现难以维护的局面。要实现组合的消息代理,可以使用消息代理的层次结构。这种结构类似于许多子网组成的网络结构。如果消息只在子网内部传输,则使用本地消息代理;如果消息的目标在另一个子网中,则本地消息代理将消息传至中央消息代理,再由中央消息代理确定消息传输目标。

  层次结构消息代理,提供解耦和的同时避免了“万能代理”:

  

 

posted on 2018-07-28 13:58  庭前花满留晚照  阅读(662)  评论(0)    收藏  举报

导航