云原生 Kafka AutoMQ 1.2.0-beta0 正式发布
AutoMQ 介绍
与其他流系统的对比
特性 | AutoMQ | Apache Kafka | Confluent | Apache Pulsar | Redpanda | Warpstream |
Apache Kafka 兼容性[1] | 原生 Kafka | 原生 Kafka | 原生 Kafka | 非 Kafka | Kafka 协议兼容 | Kafka 协议兼容 |
是否开源 | 是 | 是 | 否 | 是 | 是 | 否 |
无状态 Broker | 是 | 否 | 否 | 是 | 否 | 是 |
P99 延迟 | 单位数毫秒延迟 | 单位数毫秒延迟 | 单位数毫秒延迟 | 单位数毫秒延迟 | 单位数毫秒延迟 | |
持续自平衡 | 是 | 否 | 是 | 是 | 是 | 是 |
扩展/缩减效率 | 以秒计 | 以小时/天计 | 以小时计 | 以小时计(缩减); 以秒计(扩展) | 以小时计 以秒计 (仅限企业版) | 以秒计 |
Spot 实例支持 | 是 | 否 | 否 | 否 | 否 | 是 |
分区重新分配 | 以秒计 | 以小时/天计 | 以小时计 | 以秒计 | 以小时计 以秒计 (仅限企业版) | 以秒计 |
组件 | 代理 | 代理 ZooKeeper (非 KRaft) | 代理 ZooKeeper (非 KRaft) | 代理 ZooKeeper BookKeeper 代理 (可选) | 代理 | 代理元数据服务器 |
持久性 | 由 S3/EBS 保证[2] | 由 ISR 保证 | 由 ISR 保证 | 由 BookKeeper 保证 | 由 Raft 保证 | 由 S3 保证 |
跨可用区网络费用 | 否 | 是 | 是 | 是 | 是 | 否 |
[1] Apache Kafka 兼容性的定义来自这篇 博客。
[2] EBS 持久性:在 Azure、GCP 和阿里云上,区域 EBS 副本跨多个可用区。在 AWS 上,通过在不同可用区的 EBS 和 S3 Express One Zone 进行双写来确保持久性。
创新的存储架构
更新内容
- docs(metrics):完善遥测自述文件并删除未使用的组件 ,作者@SCNieh,PR # 1333
- fix(issues1334):修复流读取器无限循环 ,作者@superhx,PR # 1335
- fix(perf):增加管理客户端的请求超时时间 ,作者@Chillax-0v0,PR # 1336
- feat(core): 转发流 apis ,作者@ShadowySpirits,PR # 1338
- chore:设置整个仓库的代码所有者 ,作者@Chillax-0v0,PR # 1340
- feat(core): 添加命令配置 ,作者@ShadowySpirits,PR # 1342
- fix(auto_balancer): 修复 broker 状态改变 ,作者@SCNieh,PR # 1339
- feat(metadata):为旧流添加缺失的标签 ,作者@superhx,PR # 1346
- fix(s3stream):改进网络速率限制器以提高精度 ,作者@SCNieh,PR # 1344
- docs(telemetry):通过以下方式简化 grafana 仪表板模板 ,作者@SCNieh,PR # 1354
- feat(shell): 删除 automq cli ,作者@ShadowySpirits,PR # 1355
- feat(core): 在控制器事件循环中记录块操作 ,作者@ShadowySpirits,PR # 1352
- fix(s3stream):暂时禁用百分位指标以解决性能问题 ,作者@SCNieh,PR # 1353
- perf(s3stream/allocator):增加 netty 分配器的主干大小 ,作者@Chillax-0v0,PR # 1364
- fix(issues1357):修复从快照加载时丢失的删除问题 ,作者@superhx,PR # 1358
- chore(log): 修复日志 ,作者@superhx,PR # 1365
- feat(shell): 为 automq cli 添加基本命令 ,作者@ShadowySpirits,PR # 1370
- fix(issues1367):流读取器阻止添加无效块 ,作者@superhx,PR # 1372
- fix(cache):修复当用户读取速度快于预读时读头失败的问题 ,作者@superhx,PR # 1382
- fix(issues604):修复响应大小不匹配的问题 ,作者@superhx,PR # 1392
- feat(tools/perf):在预热和追赶过程中调整发送速率 ,作者@Chillax-0v0,PR # 1395
- feat(s3stream): 添加新的对象存储摘要 ,作者@superhx,PR # 1396
- feat(core): 优化控制器事件循环中的块操作日志 ,作者@ShadowySpirits,PR # 1403
- fix(auto_balancer):删除不必要的地图副本 ,作者@SCNieh,PR # 1404
- feat(core): 使控制器构建器可扩展 ,作者@SCNieh,PR # 1406
- fix(TimeIndex):等待最后一次追加完成后再通过以下方式获取流: ,作者@Chillax-0v0,PR # 1407
- feat(auto_balancer): opt 集群模型接口 ,作者@SCNieh,PR # 1414
- fix(cache):修复重新创建主题的缓存重用问题 ,作者@superhx,PR # 1417
- perf(matadata):使用时间轴对对象进行图像处理 ,作者@superhx,PR # 1419
- feat(s3stream):为对象存储添加 aws s3 rangeRead 实现 ,作者@warr99,PR # 1416
- fix(metadata):修复元数据访问过期图像的问题 ,作者@superhx,PR # 1420
- fix(core):修复文件缓存意外截断 ,作者@ShadowySpirits,PR # 1421
- feat(core): 仅在活动控制器上报告 s3 对象编号 ,作者@SCNieh,PR # 1424
- perf(FileCache): 避免一次性驱逐太多块 ,作者@Chillax-0v0,PR # 1425
- fix(docs):修复贡献指南 ,作者@jitokim,PR # 1428
- chore(examples):删除 TransactionProducer 中的硬编码值 ,作者@jitokim,PR # 1426
- fix(config):修复自动平衡器监听器名称的默认配置 ,作者@SCNieh,PR # 1429
- fix(tools/perf):丢弃无效的延迟值 ,作者@Chillax-0v0,PR # 1430
- test(s3stream):添加 objectStorage rangeRead 测试 ,作者@warr99,PR # 1423
- feat(s3stream):通过以下方式添加用于对象存储的 aws s3 写入实现 ,作者@warr99,PR # 1434
- fix(auto_balancer):修复版本 V0 的指标兼容性 ,作者@SCNieh,PR # 1433
- fix(auto_balancer):当侦听器名称未指定时匹配所有端点…通过 ,作者@SCNieh,PR # 1435
- feat(s3stream): 复合对象读写器 ,作者@superhx,PR # 1432
- feat(s3stream):通过以下方式添加 s3 多部分实现,用于对象存储 ,作者@warr99,PR # 1438
- feat(s3stream):复合对象通过添加对象属性 ,作者@superhx,PR # 1437
- fix(s3stream/wal):启动前检查块大小 ,作者@Chillax-0v0,PR # 1439
- feat(tools): 修复 StorageTool ,作者@ShadowySpirits,PR # 1442
- feat(s3stream): 通过以下方式压缩为复合对象 ,作者@superhx,PR # 1443
- feat(s3stream): 通过添加复合对象删除 ,作者@superhx,PR # 1444
- feat(s3stream):为对象存储添加 s3 删除实现 ,作者@warr99,PR # 1441
- perf(s3stream):避免在写入路径上创建非重用 TimerUtil 对象 ,作者@lifepuzzlefun,PR # 1447
- feat(s3stream): 对象存储编写者 ,作者@warr99,PR # 1445
- feat(s3stream): 添加流对象压缩 v1 触发器 ,作者@superhx,PR # 1448
- feat(issue1134):通过以下方式防止琐碎调度 ,作者@SCNieh,PR # 1449
- feat(auto_balancer):仅在必要时移动内部主题分区 ,作者@SCNieh,PR # 1450
- feat(s3stream):通过以下方式适应新的对象存储抽象 ,作者@superhx,PR # 1451
- feat(core): 通过以下方式实现代理和集群级别的配额 ,作者@ShadowySpirits,PR # 1440
- fix:通过流 e2e ,作者@superhx,PR # 1453
- feat:添加复合对象测试 ,作者@superhx,PR # 1454
- feat(s3stream): 通过以下方式集成复合对象 ,作者@superhx,PR # 1456
- fix(test):修复 e2e ,作者@superhx,PR # 1457
- test(s3stream):添加测试用例来验证对象末尾的读取行为 ,作者@warr99,PR # 1455
- feat(auto_balancer):重构集群负载快照以实现更好的扩展…… ,作者@SCNieh,PR # 1459
- chore:更新 README.md ,作者@wensongz,PR # 1460
- refactor(license):通过以下方式将许可证文件组织在一起 ,作者@KaimingWan,PR # 1458
- chore:为 s3stream 添加自述文档 ,作者@daniel-y,PR # 1461
- feat(s3stream):通过以下方式实现 S3 Write-Ahead Log 的原型 ,作者@ShadowySpirits,PR # 1465
- feat(s3stream):消除对流范围偏移的依赖 ,作者@SCNieh,PR # 1466
- feat(metadata): 优化 streamsetobject 以支持大型集群 ,作者@superhx,PR # 1464
- fix(test):修复连接 e2e 任务超时 ,作者@superhx,PR # 1467
- fix(test):跳过不支持的测试 ,作者@superhx,PR # 1468
- fix(s3stream):确保 wal 标头关闭类型在启动时不正常 ,作者@lifepuzzlefun,PR # 1469
- chore(all): 适应 java21 ,作者@superhx,PR # 1471
- feat(s3stream): 通过以下方式实现 AcknowledgmentService ,作者@ShadowySpirits,PR # 1470
- feat(core):通过以下方式为 TelemetryManager 添加扩展点 ,作者@SCNieh,PR # 1472
- fix(auto_balancer):修复代理状态 ,作者@SCNieh,PR # 1480
- fix(auto_balancer):当没有分区时,从集群模型中删除分区…… ,作者@SCNieh,PR # 1484
- fix(auto_balancer):修复从集群中删除分区时出现 npe 的问题 ,作者@SCNieh,PR # 1486
- fix(api): 修复当遇到NOT_CONTROLLER时频道无法切换的问题 ,作者@superhx,PR # 1489
- fix(s3shell): 修复对象清理 ,作者@ShadowySpirits,PR # 1491
- fix(s3stream):修复当转到重试逻辑时 IO CompletableFuture 永远无法完成的问题 ,作者@lifepuzzlefun,PR # 1487
- build(aws):将 aws sdk 版本升级到 2.26.10 ,作者@SCNieh,PR # 1494
- build(netty):升级 netty 版本至 4.1.111 ,作者@SCNieh,PR # 1495
- refactor(s3stream):重构对象存储 ,作者@superhx,PR # 1498
- fix(s3stream):修复在 S3ObjectsImage 中更新 liveEpoch 时锁定保护 ,作者@lifepuzzlefun,PR # 1493
- build(gradle):通过以下方式启用 Gradle 包装器验证 ,作者@sullis,PR # 1496
- feat(auto_balancer): 每次优化后记录 broker 负载变化 ,作者@SCNieh,PR # 1497
- fix(metadata):防止常量实例重复释放 ,作者@SCNieh,PR # 1500
- refactor(config):通过以下方式提取 automq 配置 ,作者@superhx,PR # 1501
- fix(s3stream):修复 s3 就绪检查 ,作者@superhx,PR # 1502
- fix(s3stream):使用段唯一 ID 作为文件缓存键 ,作者@SCNieh,PR # 1504
- fix(s3stream):避免在打开流后立即进行压缩 ,作者@Chillax-0v0,PR # 1505
- perf(s3stream):在 WAL io 执行器中使用 FastThreadLocal ,作者@lifepuzzlefun,PR # 1507
- feat(config):新的 bucket URI 配置 ,作者@superhx,PR # 1506
- fix(metadata): 修复快照后丢失的对象属性 ,作者@superhx,PR # 1508
- chore(test): 通过以下方式检查快照后的对象属性 ,作者@superhx,PR # 1509
- feat(s3stream):优化获取对象的性能 ,作者@SCNieh,PR # 1512
- perf(s3stream): 当压缩复合对象时批量删除对象 ,作者@lifepuzzlefun,PR # 1513
- feat(s3stream): 适应 bucket id ,作者@superhx,PR # 1514
- fix(s3stream):修复删除复合对象超出 S3 API 限制的问题 ,作者@lifepuzzlefun,PR # 1518
- fix:修复拼写错误 ,作者@szepeviktor,PR # 1516
- chore:通过以下方式引入 EditorConfig ,作者@szepeviktor,PR # 1511
- fix(s3stream):修复 streamsetobject 强制拆分失败问题 ,作者@lifepuzzlefun,PR # 1521
- fix(tool):修复生成 s3 url 工具区域 ,作者@lifepuzzlefun,PR # 1522
- fix(s3stream):优化 s3 请求异常的重试策略 ,作者@SCNieh,PR # 1524
- fix(issues1527):修复删除空列表 ,作者@superhx,PR # 1528
- fix(issue1526):避免在搜索完成之前完成未来 ,作者@SCNieh,PR # 1531
- fix(s3stream):避免使用 MAJOR_V1 紧凑复合对象本身 ,作者@lifepuzzlefun,PR # 1535
- feat(s3stream): 通过以下方式实现对象存储wal ,作者@ShadowySpirits,PR # 1538
- feat(config): 将自动平衡器默认平均偏差率降低至 0.1 ,作者@SCNieh,PR # 1543
- fix(config):修复 gcp bucket 解析问题 ,作者@warr99,PR # 1537
- fix(s3stream):复合对象使用保留大小 ,作者@superhx,PR # 1532
- fix(s3stream):通过 close 方法关闭所有执行器 ,作者@warr99,PR # 1529
- fix(issues1539):修复 auto-kafka-admin.sh 帮助信息。通过 ,作者@mapan1984,PR # 1541
- feat(s3stream): 重构配置 s3.wal.path ,作者@ShadowySpirits,PR # 1545
- feat(s3stream):通过以下方式在对象 WAL 恢复期间实现预读功能 ,作者@ShadowySpirits,PR # 1548
- feat(ci): 更新 github-release.yml ,作者@ShadowySpirits,PR # 1555
新贡献者
- @vintagewang 在#1463中做出了第一笔贡献
- @szepeviktor 在#1516中做出了第一笔贡献
- @mapan1984 在#1541中做出了第一笔贡献
关于我们

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MakuCloud v4.3 发布,简洁易用的微服务解决方案
项目说明 maku-cloud 是采用 SpringCloud Alibaba 2023、SpringCloud 2023、SpringBoot 3.3、SpringSecurity 6.3、Nacos、Mybatis-Plus、Redis、Vue3、Element-Plus 等框架,开发的一套 SpringCloud 低代码开发平台,旨在为开发者提供一个简洁、高效、可扩展的低代码开发平台。 使用门槛极低,支持国密加密、达梦数据库等,符合信创需求的低代码开发平台。 采用组件模式,扩展不同的业务功能,可以很方便的实现各种业务需求,且不会导致系统臃肿,若想使用某个组件,按需引入即可,反之亦然。 支持 Online 在线表单开发,支持单表、树表、一对一、一对多表单,可快速开发业务,无需部署及重启服务等优点。 支持多种数据库,包括 MySQL、PostgreSQL、达梦等,可灵活切换。 支持多种登录方式,包括账号密码、短信验证码、企业微信、钉钉、飞书、微信等,可灵活选择。 支持多租户模式,可实现不同业务系统之间的隔离,能同时支持字段隔离、数据源隔离方式,满足对多租户的全部需求。 官网地址:ht...
- 下一篇
vxe-table 4.7.49 已经发布,vue 表格解决方案
vxe-table 4.7.49 已经发布,vue 表格解决方案 此版本更新内容包括: table 修复树形懒加载无数据时按钮显示问题 优化列宽算法 column 参数 width 支持设置为 auto 自适应宽度 详情查看:https://gitee.com/xuliangzhan_admin/vxe-table/releases/4.7.49
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6