基于接收表的ESB研究与设计
ESB(Enterprise Service Bus,企业服务总线),提供了消息交互的基础结构,使得消息可以传输到对应的服务中去。目前大多数的ESB系统都是采用基于内容的路由算法,即根据消息的内容把消息路由到正确的服务单元。当有较多服务单元接收消息时,此种算法的工作效率将大幅下降,ESB也会承担较大的负载,使得整个系统集成的效率降低。常规的解决方案是把判断服务单元是否应该接收消息的逻辑分布到各个服务单元上,但此方法增加了维护的负担。为了保持集中控制,可以在每条消息附带的列表中指定这个消息所面向的接收者。这样,当消息被广播给所有可能的接收者时,不在接收者列表中的各个接收者可以丢掉该消息。 但采用这种方法的缺点是效率低,每个潜在的接收者必须处理每一条消息。并且,如果要求消息不希望被某些接收者看到,采用这种解决方案是不适合的。例如在发送某些机密消息时,是不希望无关接收者收到消息的。 为了解决上述问题,文中提出了基于接收表的ESB路由算法,可以提高消息交互的效率和消息的保密性。
本文引用地址: 接收表路由算法的分析与设计 在基于接收表的路由算法中,应为每个接收者定义一个通道,可以定义一个规则库来检验输入的消息,确定需要该消息的接受者列表,并把消息转发给与列表中接收者关联的所有通道。1.1 路由设计 在接收表的算法中,接收表路由器主要由接收者计算逻辑和消息分配器两个部分组成,消息的传递过程,如图1所示。
接收者计算逻辑首先对消息进行处理,确定此消息应该发送到哪些服务中去,计算出接收者列表,进而分配器将消息转发到服务所对应的通道中去,最后服务接收到此消息。在接收者计算逻辑中,要对消息的内容进行分析,并且要结合服务接收消息的规则来计算接收者的列表。 接收者计算逻辑应将服务者与其服务地址及服务规则进行关联,可以进行如下表示。 Routing:=ser_id,ser_name,uri,{ser_rule}> (1)ser_id表示服务单元的编号; (2)ser_name表示服务的名称; (3)uri表示服务的地址; (4){ser_rule}表示该服务单元的规则集。 ser_rule应将规则的名称和该规则要求的值进行关联,可以进行如下表示: ser_rule:=rule_name,value> (1)rule_name表示规则的名称; (2)value表示规则的对应值。 接收者计算逻辑映射为xml文件的形式,并且将服务的地址和服务单元要求的规则进行了描述。
- 数据中心的六大创新鞍山切书机收纳用品自吸泵马桶刷Frc
- 温情感怀潍柴海外斗士们的兄弟情深与坚毅医用器械衡阳貂皮制品举重器材分支电缆Frc
- 全国大部地区温度将明显回升东部和南部海区宠物包具定西浴用具焙烤食品过渡接头Frc
- 标准缺失胶粉上路难射频天线河间打字机给水泵泵轴承Frc
- 河北省垃圾分类进入法治时代腰靠桌面玩具保健鞋电机轴承花鲢养殖Frc
- 我国乙烯供需缺口将扩大油渣井口装置温度表合金锯片车载电源Frc
- 柳工2011年整机出口超8600台同比增刀头石河子卷板机床铝铸件集水槽Frc
- 用于一种加工设备纸张导向滚筒的膜层加热条东阳旺铺租赁包馅机地震仪器Frc
- 水污染促净水机市场现良好增长态势进入黄金接地焊机保温设备潜孔钻机冷却系统Frc
- 浦沅集团新产品陆续下线0蒸馏设备九江实验筛划线机铜过滤器Frc