RocketMQ高可用探究:消息存储技术

  1. 云栖社区>
  2. 阿里云SRE技术社区>
  3. 博客>
  4. 正文

RocketMQ高可用探究:消息存储技术

阿里云SRE团队小编 2020-06-01 16:24:10 浏览285
展开阅读全文

RocketMQ是阿里开源的分布式消息中间件,跟其它中间件相比,RocketMQ的特点是纯JAVA实现、集群和HA实现相对简单、在发生宕机和其它故障时消息丢失率更低,具有良好的高可用架构及稳定性。其发展的迭代历史如下图所示,从2007年至今已发展超过10年。

image


图1:RocketMQ迭代历史

1 消息存储架构

image


图2:RocketMQ消息存储架构

RocketMQ的消息存储架构如上图所示,可以看到主要由三个跟消息存储相关的文件构成。

  • CommitLog:消息及元数据的存储主体。消息内容不是定长的,同时单个文件大小默认1G,文件名长度为20位,左边补零,剩余为起始偏移量。比如00000000000000000000代表了第一个文件,起始偏移量为0,文件大小为1G=1073741824;当第一个文件写满了,第二个文件为000000000010

网友评论

登录后评论
0/500
评论
阿里云SRE团队小编
+ 关注
所属团队号: 阿里云SRE技术社区