您现在的位置是:首页 > 文章详情

RocketMQ 4.9.2 重磅发布!

日期:2021-12-23点击:240

经过社区多轮投票,Apache RocketMQ 初冬的第一个版本4.9.2 终于来了!

在该版本中,优化核心特性及文档超过 40 项,并且再次对性能进行了全面提升,此外最值得关注的 RIP-7 Commitlog 多目录存储支持重磅发布。

Commitlog多目录存储支持

通过Commitlog多目录存储功能,一方面能有效利用服务器上多个磁盘的存储空间,另一方还能让单个Broker实例通过动态挂载新磁盘的方式,实现动态地扩充存储能力。具体实现的示意图如下:

要使用该功能,需要在配置文件中的 storePathCommitLog设置多个目录,目录之间使用逗号隔开,如"storePathCommitLog=/data1/commitlog,/data2/commitlog,/data3/commitlog"。

如此配置后,Broker在每次单个Commitlog文件写满之后,会选择新的目录创建下一个commitlog文件。storePathCommitLog 参数支持动态更新,但是如果从单目录切换到多目录,需要重启。此外,针对单个磁盘异常需要替换的情况,新增了readOnlyCommitLogStorePaths配置项,用于标记目录只读,通过禁写和数据过期策略,可实现单盘的平滑下线。当前,我们采用了轮询的方式来选择下一个要使用的目录,并且会自动跳过被标记只读和磁盘空间不够(默认85%阈值)的目录,用户不必担心因为磁盘空间不均衡从而导致浪费的情况。

高性能优化 

本次是4.9.1开启性能优化版本的延续: 使用LongAdder替换AtomicLong,在指标统计时,性能数倍提升。

LongAdder 与 AtomicLong 的区别在于高并发时前者将对单一变量的CAS操作分散为对数组中多个元素的CAS操作,取值时进行求和。

这里分享测试代码, 欢迎大家跑一跑,留言分享自己测试的结果。

 @BenchmarkMode(Mode.Throughput)@Fork(1)@Threads(4)@Warmup(iterations = 1, time = 1)@Measurement(iterations = 2, time = 5)@State(Scope.Benchmark)public class CasVsAdder { private AtomicLong count; private LongAdder adder;  @Setup public void init() { count = new AtomicLong(0); adder = new LongAdder(); }  @Benchmark public void testCas() { for (int i = 0; i < 10000; i++) { count.incrementAndGet(); } }  @Benchmark public void testAdder() { for (int i = 0; i < 10000; i++) { adder.increment(); } }  public static void main(String[] args) throws RunnerException { Options options = new OptionsBuilder() .include(CasVsAdder.class.getSimpleName()) .output(System.getProperty("user.home") + "/" + CasVsAdder.class.getSimpleName() + ".txt") .build(); new Runner(options).run(); }}

实用工具 

支持元数据导出 by @panzhi33

支持命令行查询消费者配置 by @zhangjidi2016

支持DLQ topic默认可读 by @maixiaohai

...

本次版本的顺利发布,离不开RocketMQ社区的每一位参与贡献者,尤其鸣谢Apache RocketMQ Committer 黄理,江海挺,小伟等。

另外,从该版本起,每次发布新版本, 都可以在github上看到每个PR的提供者的名字和第一次贡献者的名字,比如:https://github.com/apache/rocketmq/releases/tag/rocketmq-all-4.9.2。

加入 Apache RocketMQ 社区

Apache RocketMQ自2016年走入全球开发者视野以来,已然发展成为电商、金融、教育、科技等领域技术中台最核心的数据底座。据不完全统计,单单在国内,金融100强、保险100强、财富500强、券商50强超过70%的企业在核心应用链路上规模化部署了RocketMQ,全球5朵大云也纷纷上线了RocketMQ云产品服务。在历经2代RocketMQ人的辛勤创作下,目前正迎来10年之大变革 - 下一代架构升级。
欢迎立志打造世界级分布式系统的同学加入社区,添加社区开发者微信:rocketmq666 即可进群,参与贡献,共同打造下一代消息流融合处理平台。

下载地址:

https://rocketmq.apache.org/release_notes/release-notes-4.9.2/

原文链接:https://www.oschina.net/news/175167/apache-rocketmq-4-9-2-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章