本期概要
欢迎来到 AutoMQ 第十一期双周精选!在过去两周里,主干动态方面,AutoMQ 跟进了 Apache Kafka 3.4.x BUG 修复,并进行了CPU & GC 性能优化,另外,AutoBalancing 的 Reporter 和 Retriever 也将支持指定 Listener Name 配置接入点。
社区贡献者名单
祝贺 @lifepuzzlefun 成为我们的活跃共享者:
- @lifepuzzlefun:#1411、#1447、#1469、#1487、#1493、#1507、#1513、#1518、#1521、#1522、#1535
欢迎 @yx9o、@jitokim、@wensongz、@vintagewang、@sullis、@szepeviktor、@llzcx 和 @mapan1984 为社区注入了新鲜的血液,并成功合并了首个 PR。
AutoMQ 主干动态
Direct On S3 抢先体验
https://github.com/AutoMQ/automq/releases/tag/1.2.0-beta0Direct on S3 抢先体验版发布!无磁盘管理、99.999999999% 数据持久性、“零开销” AZ 级容灾,仅需修改一行配置项即可体验。
s3.wal.path=0@s3://<your-bucket>?region=<your-region>&endpoint=<your-s3-endpoint>
10w 分区 10GiB/s 大规模集群元数据优化
#1419 #1464
-
S3Object 和 S3StreamMetadata 在 Delta 和 Image 中的内存数据结构替换成 TimelineHashMap,避免元数据频繁变更引发 Map 拷贝;
-
StreamSetObject 内存索引信息卸载到对象存储,降低 KRaft 元数据内存占用和 Checkpoint 空间占用;
-
阶段性优化结果:AutoMQ 可以在 10w 活跃写入分区、7GiB/s 写入流量和 90 个 2C16G 节点规模下稳定运行。KRaft Checkpoint 空间占用从 600MiB 下降到 100MiB;
新增 Composite Object 类型
#1432 #1437 #1443
-
Composite Object 将多个物理 Object 通过软链的形式逻辑合并成一个大的 Object,底层的物理 Object 保持 4MB 左右的大小,而 Composite Object 逻辑上可以软链 10 GiB 的数据量;
-
Compaction 基于 Composite Object 无需创建 MultiPart Object和使用 UploadPartCopy API,可以获得更快的合并速度、更低的合并成本;
-
优化结果:Compaction API 调用成本和 Compaction 耗时仅为原来物理合并的 10%;
以上是第十二期《双周精选》的内容,欢迎关注我们的公众号,我们会定期更新 AutoMQ 社区的进展。同时,也诚邀各位开源爱好者持续关注我们社区,跟我们一起构建云原生消息中间件!
END
关于我们
我们是来自 Apache RocketMQ 和 Linux LVS 项目的核心团队,曾经见证并应对过消息队列基础设施在大型互联网公司和云计算公司的挑战。现在我们基于对象存储优先、存算分离、多云原生等技术理念,重新设计并实现了 Apache Kafka 和 Apache RocketMQ,带来高达 10 倍的成本优势和百倍的弹性效率提升。
🌟 GitHub 地址:https://github.com/AutoMQ/automq
💻 官网:https://www.automq.com