浅谈企业服务总线(ESB)架构设计

鹏腾

随着近十年IT行业发展,SOA(面向服务架构Service-Oriented Architecture)服务基本理论已逐渐得到验证,SOA架构的实施,主要借助于ESB(企业服务总线:Enterprise -Service-Bus),目前市场上实施ESB的产品众多,如:IBM的DataPower,IBM的WebSphere Message Broker,Oracle的Oracle Service Bus,Apache的ServiceMix等等。

以IBM的WebSphere Message Broker实施ESB为例,IBM的ESB主要存在三种架构,第一种架构是ESB整体环境是MQ集群环境(MQ:Websphere Message Queue),第二种是部分集群,部分非集群,第三种是单点非集群架构,本文重点说明第一种架构。

集群环境是指WebSphere Message Queue集群,多个Queue Message 节点(多机或单机均可)通过WebSphere Message Queue的集群通道属性进行互连,多个Queue Message之间通过集群发送通道与集群接受通道建立互连关系,确保Queue Message之间能够进行通信。

一般情况下,MQ集群环境分为网关、代理、适配器(部分没有),网关用于与连接应用进行通信,代理用于ESB核心业务处理,适配器用于接入系统标准与非标准之间继续转换。

采用MQ集群环境的好处众多,如:交易均衡分发,降低某一个节点故障后交易中断,降低某一个节点负荷,实现交易高可用性。然集群环境虽好,但也存在一些问题,如:集群环境异常后,恢复相对较难。

企业服务总线是将交易从同步HTTP方式转变为Message Queue方式,实现服务高可用,提升服务复用度,但对于交易量较少企业,采用ESB将显得应用笨重,因此,企业选择架构模式,因采用适合自己的IT架构,而非一味求全求美。