LSMQ:基于LSM-Tree的持久消息队列系统设计与实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:InsideCSharp
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
分布式应用程序为了降低模块相互之间的耦合程度以及更好的应对可扩展、可操作性的要求,通常引入消息队列来降低模块之间的耦合和平衡各模块处理能力,消息队列允许分布式系统模块之间在保证遵守同样接口约束的前提下,独立的扩展和修改各自的处理过程。各模块对数据的处理能力不同,持久化消息队列能保证消息持久化到他们已经完全处理好,从而避免了数据丢失。消息队列解耦了处理过程,所以系统扩容时,各模块只需独立增加各自的处理能力即可,大大增强了分布式系统的可扩展性。  在充分调研现有消息队列的基础上,发现现有的消息队列系统存在消息无法持久化、消息持久化和高吞吐量之间无法兼顾、单机容量有限等问题。LSM-Tree(Log-Structured Merge tree)是一个为了提高B-树在更新插入数据时的性能而提出来的优秀算法,思想来源于日志文件系统,主要优点是在不牺牲查找效率的前提下,大幅度提升随机写、随机更新、删除效率。在研究了现有的几种消息队列的基础上,通过引入LSM-Tree结构,设计和实现了一个高吞吐量、消息堆积能力强的持久化消息队列LSMQ。结果显示,在单机容量、读写吞吐量方面,LSMQ表现均达到预期。  测试结果表明,LSMQ读性能达到了12000条消息/秒,写性能达到了15000条消息/秒,略低于内存队列Redis,远远高于基于B+树的持久化消息队列ActiveMQ。在消息堆积能力方面,由于LSMQ轻量级的内存结构设计和基于磁盘的存储结构, LSMQ可以在低内存占用的情况下,达到充分利用磁盘存储消息的目的。
其他文献
随着用户规模不断增大和业务系统复杂化,现在的数据中心规模越来越大,复杂程度越来越高。为了使得未来的数据中心能提供多种应用,结构更加扁平化,新一代的数据中心将更多的运用融
近年来,随着网络的迅猛发展,如何对网络上大量的自然语言文本按照既定的语义进行正确的归类,已经成为组织大量网络信息的一个关键问题。这就是文本分类的任务。电子文本成几
互连网的迅猛发展带来了日益严重的信息过载问题,推荐系统通过挖掘、分析用户与物品间的关系,向用户推荐其最可能感兴趣的物品,是解决信息过载问题的有效工具之一。传统协同过滤
随着嵌入式技术与网络技术的迅猛发展,将嵌入式系统连接进入Internet网络成为发展的必然,这样有利于控制网络与信息网络彼此互连,一方面扩大了控制网络的可控范围,另一方面拓
半虚拟化与单根输入输出虚拟化(Single-Root I/O Virtualization,SR-IOV)是目前主流的I/O虚拟化方式。SR-IOV支持对设备的原生共享,具有很好的I/O性能,但其受硬件限制仅能支持有限
现代企业生产经营活动中包含了各式各样的业务流程,可以说一个企业的生产经营活动就是由各式各样的流程组成的,因此业务流程和企业的生产经营是息息相关的。对业务流程进行建
本文研究Multi-Agent系统,众所周知,Multi-Agent系统及分布式人工智能已经成为当今人工智能领域研究的重点。Muli-Agent的基本问题是智能体之间的协调,可细分为单智能体设计、多
随着数据挖掘技术在商业、保险业等方面的广泛应用,从大型的数据库中高效地挖掘频繁模式是目前数据挖掘领域的主要研究内容。虽然,在过去的十几年间,提出了许多高效的频繁模式挖
工作流技术是近年来在计算机应用领域中发展最为迅速的新技术之一,是一种在办公自动化应用和企业经营活动中得到充分利用的先进的流程控制技术。工作流技术的主要特点是:过程
随着湖南省国税系统的全省征管业务数据的逐渐全面集中,使得利用计算机进行全面的税收监控、辅助领导进行决策管理成为可能。邵阳市国税局信息中心在省局的领导下,开发了税收监