随着现代科学技术的发展,分布式系统日益成为处理大规模数据和服务的关键架构,传统的通信机制在网络延迟、并发处理和灵活性方面存在局限性。针对实际应用需求,雷海公司基于ZeroMq进行二次开发,实现了以数据为中心的数据通信中间件LHMQ(LeiHai Message Queue Midware),为上层应用提供透明的数据传输服务。
LHMQ中间件架构设计如图1所示:
LHMQ中间件前目前实现了三种通信模型:
a)订阅发布模型(Publish-Subscribe)
订阅发布模型实现n:m的数据通信能力。在业务表现形式上,数据的产生者无需关心数据的具体去向,同样数据的消费方也不关心数据的产生节点是谁。数据的流向以发布-订阅模型为输入,依据数据的具体特征结合Qos策略实现平台资源的最大化利用,满足各类型数据对于实时性、可靠性、持久化不同应用需求之间的平衡。这种通信模式在实际应用中最多,也最广,是实现模块间业务解耦的最重要手段。订阅/发布模型如图2所示。
在请求应答业务表现形式上,client向server发送请求,server经处理后给予回复。这种通信模式可应用在一对多、多对一操控类应用场景,通信模型如图3所示。
在业务表现形式上,将复杂任务划分为多个子任务推送给worker处理单元,处理单元完成任务后将结果push到slink进行组装,这里标志着整个复杂任务的完成,整体设计上提高了程序的并行处理能力,充分利用了CPU资源。分治模型如图4所示。
以最常用的订阅发布模型为例,基于LHMQ通信中间件,可便捷进行数据通信,如图5、图6所示。
六、小结

