基于ZeroMQ&JSON的SOA网络传输中间件研究

2021-06-16 09:35:28黄江张李超王森林郭强强李萌
电子技术与软件工程 2021年7期
关键词:服务

黄江 张李超 王森林 郭强强 李萌

(华中科技大学 湖北省武汉市 430074)

随着互联网技术的发展和业务需求的扩张,分布式系统成为现代软件架构设计的热点。传统的单体架构、垂直架构虽然结构简单,但是不易扩展,能够承接的业务复杂度有限,因此分布式系统应运而生。分布式系统由一组通过计算机网络链接、自治的、配备了分布式系统软件的计算机组合而成。近年来,基于服务的架构(SOA)、基于微服务的架构的提出更是将分布式系统推向了高潮。

分布式系统最重要的就是进程(位于同一台或多台计算机)之间的通信。进程间的通信机制主要有:

(1)使用基于同步请求/响应的通信机制,如REST 风格的HTTP、gRPC;

(2)使用异步的基于消息的通信机制,如高级消息队列协议(AMQP)、流文本定向消息协议(STOMP)。[1]

消息队列经常被用来设计分布式系统的通信系统。陈瑶基于ActiveMQ 设计实现了一个数据传输框架[2];汪然基于ActiveMQ实现了消息中间件系统[3];孟承、王建基于RabbitMQ 实现了软件化的雷达通信中间件[4];袁小军基于ZeroMQ 设计实现了分布式的3D 打印控制系统[5];蒲凤平基于ZeroMQ 设计实现了列车检测系统[6];朱民新基于ZeroMQ 实现了分布式存储系统。

以下采用异步的消息队列作为进程间通信的基础,通过二次封装,构建两套轻量级的基于SOA 的分布式系统网络传输中间件。

1 ZeroMQ&JSON

1.1 ZeroMQ

ZeroMQ 是一个基于C++ 的轻量级开源消息队列,支持AMQP、异步、多线程。同类的

开源消息队列还有RabbitMQ,基于Erlang 语言,同样支持AMQP;ActiveMQ,基于java,只支持JVM 平台,跨平台性不好。根据Nicolas Estrada 等人[2]的研究测试,ZeroMQ 在性能和可伸缩性方面都要优于RabbitMQ,在负载增加时的退化阈值要高于后者,具有更好的可扩展性和更快的速度。……

登录APP查看全文

猜你喜欢
服务
自助取卡服务
服务在身边 健康每一天
今日农业(2019年14期)2019-09-18 01:21:54
服务在身边 健康每一天
今日农业(2019年12期)2019-08-15 00:56:32
服务在身边 健康每一天
今日农业(2019年11期)2019-08-13 00:49:08
服务在身边 健康每一天
今日农业(2019年13期)2019-08-12 07:59:04
服务在身边 健康每一天
今日农业(2019年10期)2019-01-04 04:28:15
服务在身边 健康每一天
今日农业(2019年15期)2019-01-03 12:11:33
服务在身边 健康每一天
今日农业(2019年16期)2019-01-03 11:39:20
高等教育为谁服务:演变与启示
招行30年:从“满意服务”到“感动服务”
商周刊(2017年9期)2017-08-22 02:57:56