当前位置:主页 > 科技论文 > 软件论文 >

支持事务的分布式消息队列中间件的设计与实现

发布时间:2020-09-25 10:11
   互联网加的模式带来应用架构的改变,应用从传统客户端/服务端模型向客户端/中间件服务器/数据库服务器三层模型改变。其中中间件服务对接各种功能的服务(集群)集合,为其它应用服务提供良好的使用环境。消息中间件主要应对突发消息和持续消息洪峰,提供平衡服务器资源负载和稳定生产环境的能力。消息中间件的异步服务能力改变了业务层层依赖问题,系统在水平扩展方面变的容易。消息中间件又称开放式消息服务,各大厂商都有不同的实现方案。早期的消息中间件多为国外技术厂商研发用于内部的商业软件,使用难度高、设计复杂、通用性差、技术不开源等,并不能满足互联网应用的复杂环境。分布式事务消息是要求多条消息完整、有序的特例,实现理念和使用场景导致各消息中间件设计方案不同。早期分布式事务设计更多考虑严格事务一致性,并没有关注事务消息的拆分、异步执行、事务消息重排序的等优化手段。目前国内互联网行业的兴起,提出了消息中间件自己的设计方案。比较国内外同行以高吞吐量为设置目标支持高并发的开源消息中间件,并拥有成熟的分布式事务解决方案仍没有成熟的标准。针对业务多样、峰值不确定、高效并发、使用方便、服务稳定,本文描述了一款基于java语言实现的高性能、轻量级消息中间件DTube。本文结合Linux操作系统的管理机制和分布式系统理论,设计基于消息中间件的分布式存储的实现,主要工作包括以下几个方面:(1)设计并实现用于消息堆积的分布式存储模型。这一部分包括消息分类的设计、消息存储队列、消息存储的分布式分发。分布式存储模型逻辑上把每个存储服务器当做一个文件使用。基于分布式存储模型可以实现:发送与接收普通消息;发送与接收顺序消息;消息在消费时服务端的过滤。分析分布式一致性的相关理论:两军问题、拜占庭将军问题、paxos算法,设计用于处理消息重复问题的方法。分析消息中间件规范,参考相关先进的消息中间件的设计思路。(2)设计并实现用于分布式事务消息处理模型。分布式事务基于XA两阶段提交协议原理实现。这一部分为了解决多阶段的分布式事务的处理问题。基于此模型可以实现:发送端的分布式事务处理提交和消费端批量消息消费的处理提交。(3)设计并实现用于分布式消息的查询功能。这一部分提供用于大规模消息查询的功能:通过Message Id查询消息;通过Message Key查询消息。Message Id查询是通过记录文件的位置。Message Key查询设计了 一个类似Java7的HashMap的文件存储结构。随后阐述了不同类型消息在消息队列中存储的原理已经发送消费消息简单例子和流程。(4)使用DTube的优化和其它实现细节。优化包括:文件系统、部署方式、Linux系统内核调优。DTube其它方面的设计包括:网络传输与序列化、I/O的零拷贝、高可用备份设计。优化网络传输与序列化是提高性能的有效手段。
【学位单位】:山东大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:TP311.52
【部分图文】:

模型图,消息队列,核心功能,模型图


发布/订阅模型逡逑图2-1发布订阅模型图逡逑上图消息队列的核心功能是订阅/发布,其它功能根据使用特点不发布订阅模型中,生产者发布主题并发送大量消息,消费者订阅主

模型图,消息中间件,主题,字节存储


XX逡逑>主题5逡逑发布/订阅模型逡逑图2-1发布订阅模型图逡逑如上图消息队列的核心功能是订阅/发布,其它功能根据使用特点不同增加逡逑功能。发布订阅模型中,生产者发布主题并发送大量消息,消费者订阅主题消费逡逑8逡逑

构造图,磁盘,硬盘,扇区


物理存储设备,软件的存储管理应符合物理设备的工作原理。Linux操作多用机械硬盘,本文假定使用硬件是机械磁盘。机械硬盘构造图,文件系统理应该符合机械硬盘的物理工作原理。上图例子所示磁盘有255个盘eads)、988邋个磁道(cylinders)、63邋个扇区(sectors/track)、扇区逻辑和大小(Sector邋size)的值是512bytes/4096bytes、随机I/O和流式I/O首选单4096byteS/40%byteS。随机读写更多耗费磁头移动的时间,机械磁盘构造不机读写,磁盘缓存能有效降低磁盘磁头移动时间但增加了异常情况数据丢1

【参考文献】

相关期刊论文 前10条

1 陆晨;冯向阳;苏厚勤;;HTML5 WebSocket握手协议的研究与实现[J];计算机应用与软件;2015年01期

2 袁佳;郭燕慧;;基于rabbitmq的海量日志的分布式处理[J];软件;2013年07期

3 马璐;;应用消息队列应对大并发访问的解决方案[J];电脑知识与技术;2013年02期

4 许子灿;吴荣泉;;基于消息传递的Paxos算法研究[J];计算机工程;2011年21期

5 潘志华;张涛;;Linux预取算法分析与研究[J];计算机技术与发展;2009年12期

6 何红波;陆建德;丁卫平;;基于中间件MQSeries的消息队列异步通信服务的应用研究[J];南通大学学报(自然科学版);2006年04期

7 周南润;曾贵华;朱甫臣;刘三秋;;两军问题的量子同步通信协议[J];上海交通大学学报;2006年11期

8 包怀忠;EXT2文件系统分析[J];计算机工程与设计;2005年04期

9 魏薇,孙世新;XFS日志文件系统的关键技术研究[J];电脑开发与应用;2005年03期

10 徐健,王涛;HTTP/1.1的分析[J];西南师范大学学报(自然科学版);2004年02期



本文编号:2826585

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2826585.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户1a28f***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com