大数跨境
0
0

数据通信中间件 LHMQ介绍

数据通信中间件 LHMQ介绍 雷海科技
2024-06-21
3
导读:随着现代科学技术的发展,分布式系统日益成为处理大规模数据和服务的关键架构,传统的通信机制存在局限性。针对实际应用需求,雷海公司基于ZeroMq进行二次开发,实现了以数据为中心的数据通信中间件LHMQ,
一、引言

随着现代科学技术的发展,分布式系统日益成为处理大规模数据和服务的关键架构,传统的通信机制在网络延迟、并发处理和灵活性方面存在局限性。针对实际应用需求,雷海公司基于ZeroMq进行二次开发,实现了以数据为中心的数据通信中间件LHMQ(LeiHai Message Queue Midware),为上层应用提供透明的数据传输服务。

二、主要特点
LHMQ的主要特点有:
a.实现跨平台适配,通过内部封装,针对平台差异性 , 提供不同平台下的数据通信能力;
b.对上层应用程序提供透明数据传输能力,实现了应用解耦;
c.支持健壮、高性能、安全、可靠的数据通信能力;
d.支持发布/订阅、请求/响应通信模型,灵活实现点对点、多点对多点通信能力;
e.支持异步处理模式;
f.支持请求应答模式;
g.支持阻塞/非阻塞模式。
三、架构组成

LHMQ中间件架构设计如图1所示:

1 LHMQ中间件架构设计图
a.平台适配层:对硬件平台/操作系统资源进行封装, 并统一提供给上层使用, 使得上层可以不必关心平台差异性;
b.发布订阅:实现发布订阅数据模型, 定义并实现发布订阅数据模型中的实体及其功能;
c.发布订阅:实现请求/订阅数据模型, 定义并实现请求/应答数据模型中的实体及其功能;
d.主题管理:进行主体全局管理与自适应匹配;
e.通信管理:通过主题匹配,实现订阅方与发布方的数据通信。
四、接口模型

LHMQ中间件前目前实现了三种通信模型:

a)订阅发布模型(Publish-Subscribe)

订阅发布模型实现n:m的数据通信能力。在业务表现形式上,数据的产生者无需关心数据的具体去向,同样数据的消费方也不关心数据的产生节点是谁。数据的流向以发布-订阅模型为输入,依据数据的具体特征结合Qos策略实现平台资源的最大化利用,满足各类型数据对于实时性、可靠性、持久化不同应用需求之间的平衡。这种通信模式在实际应用中最多,也最广,是实现模块间业务解耦的最重要手段。订阅/发布模型如图2所示。

2 订阅发布模型
b)请求应答模型(Request-Reply)

在请求应答业务表现形式上,client向server发送请求,server经处理后给予回复。这种通信模式可应用在一对多、多对一操控类应用场景,通信模型如图3所示。

3 请求应答模型
请求应答模型需要注意:
① 服务端和客户端无论谁先启动,效果是相同的;
② 客户端在请求后,服务端必须回响应;
③ 请求应答模型是一问一答式的,如果 服务端先发送,客户端先接收将导致报错。
④ 通信通信单元是消息,因此不关心的消息格式,只需要知道数据长度。
c)分治模型(Parallel-Pipeline)
4 分治模型

在业务表现形式上,将复杂任务划分为多个子任务推送给worker处理单元,处理单元完成任务后将结果push到slink进行组装,这里标志着整个复杂任务的完成,整体设计上提高了程序的并行处理能力,充分利用了CPU资源。分治模型如图4所示。

五、应用范例

以最常用的订阅发布模型为例,基于LHMQ通信中间件,可便捷进行数据通信,如图5、图6所示。

5 LHMQ通信中间件发布端调用示例
6 LHMQ通信中间件订阅端调用示例

六、小结

雷海数据通信中间件LHMQ基于发布/订阅通信模型,可支持线程间、进程间、TCP、广播等多种数据传输方式,方便上层应用调用,提供统一、透明、可靠的数据传输能力,目前已经支持x86-windows、x86-linux、arm-linux、飞腾等多架构多平台,将随着业务需求的扩展不断迭代提升能力,更好的为系统应用提供高效、可靠的数据传输服务。

【声明】内容源于网络
0
0
雷海科技
产品介绍/技术服务/案例分享
内容 161
粉丝 0
雷海科技 产品介绍/技术服务/案例分享
总阅读409
粉丝0
内容161