基于RDMA和NVM的分布式消息队列研究.pdf

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆大学硕士学位论文 中文摘要 摘 要 在分布式环境中,消息队列的引入可有效地解决不同子系统之间的通信问题, 同时降低各系统之间的耦合度,保证消息的异步消费和流量削峰。现有的消息队 列将消息存放在内存或磁盘中,通过以太网传输数据,无法同时兼顾消息持久化 和高吞吐量。近年来出现的新型存储与网络技术带来了突破此困境的机遇。一方 面,新型的非易失存储器(Non-Volatile Memory ,NVM )具有内存级的读写速度 和可按字节寻址等优点;另一方面,远程内存直接存取技术(Remote Direct Memmory Access ,RDMA )可以直接读写远端内存,不需要占用远端的CPU 。本 文从消息的持久化存储和消息的传输机制两方面进行优化,利用NVM 和RDMA 的特性,提出兼顾消息持久化和高吞吐量的分布式消息队列FlashQ ,在保证消息 可靠交付的同时,实现高吞吐量和低时延的消息传输。本文的主要贡献如下: ① 提出基于NVM 的高性能消息存储技术。现有的消息队列大都将消息保存 在基于磁盘等块设备的文件系统中实现消息的持久化保存,存取消息需要经过复 杂的I/O 软件栈。FlashQ 利用NVM 的特性,通过进程的虚拟地址访问消息文件, 避免慢速I/O 软件栈。此外,FlashQ 将消息元数据映射在进程的虚拟地址空间, 实现对消息的快速随机定位。 ② 提出基于RDMA 单边操作的快速消息无锁传输机制。通过RDMA WRITE 、 RDMA READ 单边操作直接存取远端消息数据,无需远端CPU 的参与,实现高 吞吐量、低时延的消息传输。本文通过将Topic 划分为多个Partition 的分区机制, 避免消息发布流程中远程写入消息冲突,实现远程写入消息的无锁化。针对远程 消息写入流程,本文提出基于消息生产速度和传输速度的自适应消息批处理策略, 降低传输时延,提高传输带宽。 ③ 提出基于生产时间的消息快速索引机制。FlashQ 设计了基于消息生产时间 的消息索引机制,通过建立多精确度的分层索引结构以及检索机制,快速定位到 每秒生产的消息,从而提高消息回溯的效率。 ④ 设计系统容灾机制和负载均衡策略保证 FlashQ 的高可用性。针对系统容 灾机制,FlashQ 对所有消息文件进行冗余备份,在服务器发生单点故障时快速恢 复。针对负载均衡策略,FlashQ 将各Topic Partition 尽量均匀的分布在不同的消 息服务器上,避免单机存储空间不足,同时避免由于单机连接数量过多争夺带宽 而引起的传输性能下降。 最后,基于提出的设计,本文在Linux 环境中实现了分布式消息队列FlashQ , 并设计实现了消息生产、消费的测试工具进行验证实验。实验结果表明,FlashQ I 重庆大学硕士学位论文 中文摘要 在传输常用的长度为1KB 的消息时,单Topic Partition 发布消息的吞吐量接近69 万条/秒,是Qpid (RDMA )的6.4 倍,是Kafka 的7.5 倍;连续生产1000 条消息 时,平均发布延迟仅13 微秒左右,是相同环境下Qpid (RDMA )的1/20 左右, Kafka 的1/1400 左右;以推模式消费时,吞吐量接近69 万条/秒,是同样采用推 模式的Qpid (RDMA )的6.4 倍;以拉模式消费时,在每次只拉取一条消息的情 况下,吞吐量达到近16 万条/秒,是Kafka 的近4 倍。 关键词:分布式消息队列;持久化;新型非易失存储器;RDMA II 重庆大学硕士学位论文 英文摘要 Abstract In a distri

您可能关注的文档

文档评论(0)

136****6583 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7043055023000005

1亿VIP精品文档

相关文档