内容简介:经过社区多轮投票,Apache RocketMQ 初冬的第一个版本4.9.2 终于来了! 在该版本中,优化核心特性及文档超过 40 项,并且再次对性能进行了全面提升,此外最值得关注的 RIP-7 Commitlog 多目录存储支持重磅发布。 ...
经过社区多轮投票,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/
以上所述就是小编给大家介绍的《RocketMQ 4.9.2 重磅发布!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 【重磅发布】Linkis 0.10.0 版本发布
- 重磅!谷歌发布 Flutter 2
- Linkis 0.9.1 重磅发布
- MLSQL v1.1.7 重磅发布
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
- 刚刚,GitHub重磅发布四大新功能!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。