云原生 Kafka AutoMQ 1.1.0 正式发布
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 进行双写来确保持久性。
创新的存储架构
更新内容
- feat(auto_balancer): 支持 AutoBalancer 的动态配置 ,作者@SCNieh,PR # 1076
- fix(issues1078):修复 RequestChannel 关闭阻塞问题 ,作者@superhx,PR # 1080
- feat(auto_balancer): 优化分配目标动作得分计算 ,作者@SCNieh,PR # 1083
- docs(config): 添加配置使用建议 ,作者@superhx,PR # 1084
- fix(auto_balancer):避免排除主题影响代理负载 ,作者@SCNieh,PR # 1086
- fix(maven):通过以下方式更正 s3stream 的 maven 构建系统 ,作者@daniel-y,PR # 1089
- fix(auto_balancer):通过添加缺失的变量初始化 ,作者@SCNieh,PR # 1090
- feat(auto_balancer):通过节流优先级记录网络指标 ,作者@SCNieh,PR # 1093
- feat(MM2):允许通过以下方式轻松定制 MM2 偏移同步/检查点/心跳主题 ,作者@aaron-ai,PR # 1095
- build(issues1033):将日志附加器从 DailyRollingFileAppender 切换到 RollingFileAppender ,作者@warr99,PR # 1092
- feat(issues1097):增加超时后的 api 调用超时时间 ,作者@superhx,PR # 1098
- fix(gradle): 通过以下方式指定 netty-tcnative 的分类器 ,作者@Chillax-0v0,PR # 1103
- fix(s3stream):如果 openssl 不可用,则快速失败 ,作者@Chillax-0v0,PR # 1105
- feat(issues1087):通过添加数据块缓存 ,作者@superhx,PR # 1107
- fix(docker):使用特定的 localstack 版本;通过以下方式更新 aws-cli 版本 ,作者@mooc9988,PR # 1108
- feat(auto_balancer): 拆分和合并交换操作 ,作者@SCNieh,PR # 1109
- chore(util):在调用带有“--version”的脚本时打印提交 ID,就像以前一样 ,作者@Chillax-0v0,PR # 1110
- fix(bin): 支持在Windows下运行 ,作者@Chillax-0v0,PR # 1112
- feat(issues1087):添加流阅读器 ,作者@superhx,PR # 1114
- feat(auto_balancer): 支持集群模型中的 broker rack ,作者@SCNieh,PR # 1115
- feat(issues1087):添加流阅读器 ,作者@superhx,PR # 1116
- fix(issues1087):任务失败后事件循环拒绝任务 ,作者@superhx,PR # 1117
- fix(issues1087):修复长期运行的问题 ,作者@superhx,PR # 1118
- fix(issues1087):修复对象不存在句柄 ,作者@superhx,PR # 1119
- fix(core): 修复交易验证中的竞争问题 ,作者@ShadowySpirits,PR # 1121
- feat(issues1087):添加冷停机时间以重置预读 ,作者@superhx,PR # 1123
- feat(issue1120):支持在控制器中检测慢速代理 ,作者@SCNieh,PR # 1122
- docs(config):通过以下方式完善与指标相关的配置文档 ,作者@SCNieh,PR # 1125
- feat(issue1120):支持在 AutoBalancerMetricsReporter 中报告代理指标 ,作者@SCNieh,PR # 1124
- feat(issues1087):当缓存可用时允许预读 ,作者@superhx,PR # 1126
- fix(metrics): 修复方法名称 ,作者@SCNieh,PR # 1129
- feat(issues1087):将 s3.object.block.size 默认值从 1MB 设置为 512KB ,作者@superhx,PR # 1130
- chore:更新 README.md ,作者@KaimingWan,PR # 1131
- feat(metrics): 使用增量值来报告百分位指标 ,作者@SCNieh,PR # 1132
- feat(issues1087):当缓存未命中时增加预读大小 ,作者@superhx,PR # 1133
- fix(issues1127):修复 1.0 至 1.1-rc0 启动失败 ,作者@superhx,PR # 1128
- fix(metrics):删除冗余错误日志 ,作者@SCNieh,PR # 1135
- chore(grafana): 修复损坏的面板 ,作者@SCNieh,PR # 1136
- fix(issues1142):当对象不存在时重试获取索引 ,作者@superhx,PR # 1143
- feat(auto_balancer): 支持客户端 ACL 配置 ,作者@SCNieh,PR # 1146
- fix(core):通过以下方式写入流对象时组合未来结果 ,作者@SCNieh,PR # 1147
- feat(issue1144):在需要时提前启动下一次压缩 ,作者@SCNieh,PR # 1148
- fix(issues1097):指定清理/次要/主要流对象压缩…通过 ,作者@superhx,PR # 1149
- fix(issues1140):修复 S3ObjectControlManager NPE ,作者@superhx,PR # 1151
- fix(auto_balancer):通过以下方式抑制 OutOfOrderSequenceException 的错误日志 ,作者@SCNieh,PR # 1154
- Revert "fix(issues1140):修复 S3ObjectControlManager NPE” ,作者@superhx,PR # 1157
- feat(s3stream):将校验和算法更改为 crc32c ,作者@ShadowySpirits,PR # 1155
- chore:更新自述文件并添加比较 ,作者@KaimingWan,PR # 1141
- fix(issues1140):修复 S3ObjectControlManager NPE ,作者@superhx,PR # 1158
- chore: 调整表格和云支持的徽章 ,作者@KaimingWan,PR # 1162
- feat(s3stream):减少流对象压缩写入放大 ,作者@superhx,PR # 1159
- feat(throttle): 从总可用令牌中减去额外的令牌 ,作者@SCNieh,PR # 1163
- feat(throttle):添加构造函数以实现兼容性 ,作者@SCNieh,PR # 1164
- fix(issues1072):修复 MultiPartWriterTest 不稳定测试 ,作者@warr99,PR # 1165
- fix(s3stream):通过精确记录获取对象指标 ,作者@superhx,PR # 1170
- chore: 支持一行快速启动 ,作者@KaimingWan,PR # 1168
- feat(issues1171):通过以下方式提高对象删除性能 ,作者@superhx,PR # 1172
- feat(s3stream): 通过以下方式加速块缓存获取对象 ,作者@superhx,PR # 1167
- feat(auto_balancer): 通过以下方式减少调度过程中大量小对象的复制 ,作者@SCNieh,PR # 1176
- fix(auto_balancer):添加客户端 ACL 以加载检索器消费者 ,作者@SCNieh,PR # 1182
- feat(issue1179):通过以下方式加速负载平衡中的分区重新分配 ,作者@SCNieh,PR # 1181
- chore:更新自述文件 ,作者@KaimingWan,PR # 1183
- chore:更新 README.md 以获得更准确的描述 ,作者@daniel-y,PR # 1185
- feat(issues1169):优化分区重新分配逻辑,避免出现 NotLeaderOrFollowerException ,作者@superhx,PR # 1180
- feat(s3stream): 主动驱逐过期数据 ,作者@superhx,PR # 1186
- feat(auto_balancer):当 sendi 失败时将日志级别更改为警告…通过 ,作者@SCNieh,PR # 1188
- style(auto_balancer): 删除未使用的导入 ,作者@SCNieh,PR # 1189
- feat(issue668):暂时禁用交换操作 ,作者@SCNieh,PR # 1190
- feat(auto_balancer):添加缺少的操作日志 ,作者@SCNieh,PR # 1194
- chore(readme):从比较表中删除控制器,并将 Pulsar 的代理标记为可选 ,作者@daniel-y,PR # 1197
- feat(issue1195):通过以下方式引入进球组来计算不同规模的进球得分 ,作者@SCNieh,PR # 1196
- fix(issue1198):使用时间线结构来避免不正确的 s3 对象大小 ,作者@SCNieh,PR # 1199
- feat(s3stream): 通过以下方式将标签添加到流中 ,作者@superhx,PR # 1200
- (controller):更多日志 ,作者@Chillax-0v0,PR # 1201
- feat(test): 为 s3stream 添加 e2e 测试 ,作者@ShadowySpirits,PR # 1204
- feat(auto_balancer):优化资源类型,提高可扩展性 ,作者@SCNieh,PR # 1206
- chore(cicd):删除 GitHub 发布工作流中的 site-docs 文件 ,作者@Gezi-lzq,PR # 1207
- feat(issues1169):当代理关闭时,防止重新打开分区 ,作者@superhx,PR # 1210
- feat:在 GitHub 中更新 AWS S3 bucket 和目标目录发布… by ,作者@Gezi-lzq,PR # 1211
- fix(s3stream):修复元数据重放延迟时流读取器忙循环 ,作者@superhx,PR # 1215
- feat(issues1174):清理控制器删除的主题 ,作者@superhx,PR # 1213
- chore(log): 通过以下方式将 stream_id 重命名为 streamId ,作者@superhx,PR # 1216
- feat(metrics): 支持记录慢速读取吞吐量 ,作者@SCNieh,PR # 1217
- refactor:重命名 dockerhub repo 和 docker 路径 ,作者@Gezi-lzq,PR # 1218
- feat(cicd):将确定图像标签步骤添加到 Docker 发布工作流程中 ,作者@Gezi-lzq,PR # 1208
- feat(auto_balancer):重构集群模型,提高可扩展性 ,作者@SCNieh,PR # 1220
- chore(log):将流隔离日志转换为警告级别 ,作者@superhx,PR # 1219
- fix(issues1222):修复 #openStream resp nextOffset ,作者@superhx,PR # 1224
- feat(s3stream):通过以下方式添加超时读取请求完成时的日志 ,作者@SCNieh,PR # 1227
- chore:完善 readme 中的大量徽章 ,作者@daniel-y,PR # 1228
- fix(s3stream/wal):通过以下方式检查恢复过程中记录的周期 ,作者@Chillax-0v0,PR # 1229
- chore:使用 AutoMQ 的新架构 gif 完善自述文件 ,作者@daniel-y,PR # 1233
- feat(issue1231):支持 AutoBalancer 中的历史指标测量 ,作者@SCNieh,PR # 1232
- fix(log): 修复打开流检查器 ,作者@superhx,PR # 1235
- feat(s3stream/wal): 到达窗口后恢复更多记录 ,作者@Chillax-0v0,PR # 1234
- feat(s3stream/wal): 在恢复工具中打印更多信息 ,作者@Chillax-0v0,PR # 1236
- fix(s3stream):避免在故障转移期间启动 wal 两次 ,作者@Chillax-0v0,PR # 1237
- chore(log):通过以下方式将 kafka.log 日志从 stdout 中隔离出来 ,作者@superhx,PR # 1239
- feat(metadata): 通过以下方式添加分区流关系 ,作者@superhx,PR # 1241
- feat(issues1153):分区状态自检 ,作者@superhx,PR # 1238
- chore: 指示如何在贡献指南中挑选问题 ,作者@KaimingWan,PR # 1242
- chore:在如何贡献中添加帮助信息 ,作者@KaimingWan,PR # 1243
- feat(issues1225):通过以下方式增强 s3 api 测试 ,作者@warr99,PR # 1240
- feat(issues1153):添加分区状态统计指标 ,作者@superhx,PR # 1245
- feat(metadata):修复关闭并重新打开协调器分区时的数据竞争问题 ,作者@ShadowySpirits,PR # 1246
- fix(issues1248):修复分区重新分配死锁 ,作者@superhx,PR # 1249
- feat(cli): 通过以下方式初始化 cli 模块 ,作者@ShadowySpirits,PR # 1252
- fix(issues1253):修复重复的 Tracker#close 失败 ,作者@superhx,PR # 1254
- fix(metadata): 修复潜在的数据竞争 ,作者@ShadowySpirits,PR # 1257
- feat(cli): 通过以下方式引入 stream 命令 ,作者@ShadowySpirits,PR # 1256
- fix(metadata):合并 cli 模块和 kshell-sdk 模块 ,作者@ShadowySpirits,PR # 1258
- feat(s3stream):增强增量直方图 ,作者@superhx,PR # 1261
- fix(metadata):确保消费者偏移量随着主题的删除而被删除 ,作者@ShadowySpirits,PR # 1262
- fix(metadata):清理已删除分区的消耗偏移量 ,作者@ShadowySpirits,PR # 1264
- feat(auto_balancer): 使 AbstractTimeWindowSamples 可扩展 ,作者@SCNieh,PR # 1266
- fix(s3stream):添加缺失的指标记录 ,作者@SCNieh,PR # 1268
- chore: 优化文档 ,作者@KaimingWan,PR # 1267
- feat(s3stream): 优化网络速率限制器以提高精度 ,作者@SCNieh,PR # 1269
- feat(tools): 运行性能测试的工具 ,作者@Chillax-0v0,PR # 1270
- fix(issues1276):按 nodeId 和 apiKey 对批量请求进行分组 ,作者@superhx,PR # 1277
- fix(auto_balancer):重新分配时重置分区模型 ,作者@SCNieh,PR # 1279
- fix(auto_balancer):通过以下方式防止报告封闭分区的指标 ,作者@SCNieh,PR # 1281
- feat(tools/perf): 追赶读取基准测试 ,作者@Chillax-0v0,PR # 1283
- feat(issues1273):优化自述文件以包含更多部署选项 ,作者@amos201600,PR # 1275
- fix(core):定期清理潜在泄漏的分区级指标 ,作者@SCNieh,PR # 1284
- fix(s3stream): 修复流缺少标签的问题 ,作者@superhx,PR # 1285
- feat(cli): 添加强制关闭流命令 ,作者@ShadowySpirits,PR # 1260
- feat(auto_balancer):引入公制版本以实现向后兼容 ,作者@SCNieh,PR # 1288
- feat(core): 添加分区级别生产/获取请求计数指标 ,作者@SCNieh,PR # 1291
- feat(tools/perf): 通过以下方式优化用户体验 ,作者@Chillax-0v0,PR # 1292
- feat(shell): 添加 s3 日志附加器 ,作者@ShadowySpirits,PR # 1293
- chore:删除误导性贡献文件 ,作者@KaimingWan,PR # 1295
- fix(log): 回滚日志配置 ,作者@superhx,PR # 1297
- fix(issues1296):修复潜在的 stackoverflow ,作者@superhx,PR # 1298
- fix(issues1300):修复流读取器空块 ,作者@superhx,PR # 1301
- fix(auto_balancer):通过以下方式修复竞争条件 ,作者@SCNieh,PR # 1299
- fix(issues1302):阻止 bytebuf 泄漏 ,作者@superhx,PR # 1303
- fix(log):预读错误 ,作者@superhx,PR # 1304
- feat(shell): 添加 s3 指标导出器 ,作者@ShadowySpirits,PR # 1294
- fix(issues1222):修复流提前检查 ,作者@superhx,PR # 1306
- fix(auto_balancer):避免计算不支持的目标的动作分数 ,作者@SCNieh,PR # 1305
- feat: 在恢复过程中遇到无效流时,首先关闭有效流 ,作者@Chillax-0v0,PR # 1308
- fix(issues1302):修复 StreamReader buf LEAK ,作者@superhx,PR # 1311
- chore(log):更改静音取消静音日志级别 ,作者@superhx,PR # 1312
- feat: 支持更多自定义 SASL 处理程序 ,作者@mooc9988,PR # 1313
- feat(core):在代理围栏上使用负载感知分区选择器 ,作者@SCNieh,PR # 1314
- chore:启用 join slack ,作者@KaimingWan,PR # 1309
- feat(auto_balancer): 支持为 AutoBalancer 客户端指定 broker 监听器名称 ,作者@SCNieh,PR # 1316
- docs(telemetry):删除未使用的配置 ,作者@SCNieh,PR # 1318
- feat(shell): 添加 s3 日志上传器 ,作者@ShadowySpirits,PR # 1317
- chore(log): 抑制由流围栏引起的打开失败错误 ,作者@superhx,PR # 1319
- feat(shell): 添加 LogRecorder 接口以适应其他日志框架 ,作者@ShadowySpirits,PR # 1320
- chore(s3stream):记录上传 WAL 的阶段性持续时间 ,作者@Chillax-0v0,PR # 1321
- fix(s3stream):通过以下方式压缩流对象时发生异常并释放缓冲区 ,作者@SCNieh,PR # 1322
- feat(shell): 为日志和指标报告添加抖动 ,作者@ShadowySpirits,PR # 1323
- refactor(s3operator):refactor:制作
objectTagging
一个Map<String, String>
而不是boolean
一个 ,作者@Chillax-0v0,PR # 1325 - feat(server): 使 kafka 更具可扩展性 ,作者@Chillax-0v0,PR # 1329
- feat(shell): 通过添加重新创建命令 ,作者@ShadowySpirits,PR # 1327
- feat(shell): 通过以下方式优化关闭钩子 ,作者@ShadowySpirits,PR # 1330
- fix(metrics):避免使用未初始化的计数器指标 ,作者@SCNieh,PR # 1331
- feat(shell): 清理一些代码 ,作者@ShadowySpirits,PR # 1332
- fix(perf):增加管理客户端的请求超时时间 ,作者@Chillax-0v0,PR # 1337
- feat(core): 转发流 apis ,作者@ShadowySpirits,PR # 1341
- feat(core): 添加命令配置 ,作者@ShadowySpirits,PR # 1343
- fix(auto_balancer): 修复 broker 状态改变 ,作者@SCNieh,PR # 1345
- feat(metadata):为旧流添加缺失的标签 ,作者@superhx,PR # 1347
- feat(shell): 删除 automq cli ,作者@ShadowySpirits,PR # 1356
- perf(s3stream/allocator):增加 netty 分配器的主干大小 ,作者@Chillax-0v0,PR # 1363
- fix(issues1357):修复从快照加载时丢失的删除问题 ,作者@superhx,PR # 1359
- chore(log): 修复日志 ,作者@superhx,PR # 1366
- feat(shell): 为 automq cli 添加基本命令 ,作者@ShadowySpirits,PR # 1371
- fix(issues1367):流读取器阻止添加无效块 ,作者@superhx,PR # 1373
- fix(core):当附加非零序列号且生产者快照为空时,增加容忍延迟 ,作者@SCNieh,PR # 1377
- fix(cache):修复当用户读取速度快于预读时读头失败的问题 ,作者@superhx,PR # 1383
- fix(issues604):修复响应大小不匹配的问题 ,作者@superhx,PR # 1393
- feat(tools/perf):在预热和追赶过程中调整发送速率 ,作者@Chillax-0v0,PR # 1394
- chore(gradle):将 kafka 版本更改为 3.7.0 ,作者@superhx,PR # 1397
- fix(action): 修复发布操作 ,作者@superhx,PR # 1398
- fix(TimeIndex):等待最后一次追加完成后再通过以下方式获取流: ,作者@Chillax-0v0,PR # 1408
- fix(cache):修复重新创建主题的缓存重用问题 ,作者@superhx,PR # 1418
- chore(build): 将版本更新至 1.1.0 ,作者@superhx,PR # 1422
关于我们

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Tails 6.4 发布,隐私性极高的 Linux 发行版
Tails 6.4 现已发布,具体更新内容包括: Changes and updates 切换到使用 HTTPS 地址而不是 onion 地址作为 Debian 和 Tails APT repositories。这将使Additional Software功能更加可靠。 将 Tor 浏览器更新至13.0.16。 将 Tor 客户端更新至 0.4.8.12。 将 Thunderbird 更新至115.12.0。 已修复的问题 修复解锁持久存储时出现的更多问题。(#20020、#20344、#19913) 修复某些硬件上连接移动宽带网络的问题。(#20291) 再次启用在Tails 6.3中出于安全原因禁用的 Thunderbird PDF 阅读器。 改进 Tails Cloner 在目标 U 盘因被使用而无法卸载时的错误信息。(#19253) 修复使用新身份功能时 Tor 浏览器的主页。这将消除错误信息Tor Browser blocked your homepage from loading。(#20381) 使用解锁 VeraCrypt Volumes实用程序解锁 VeraCrypt...
- 下一篇
Spring data mybatis mini 更新 v2.5 版本,支持 jpa 方法名
spring data jdbc 扩展 mybatis 动态sql能 底层 jdbcTemplate 复杂SQL才需要mybatis动态模板能力 无QueryDSL 提供crudClient 和jdbcClient 和spring data jdbc一样的追求简单,使用jdbcTemplate,调用jdbc。不提供缓存、延迟加载、QueryDSL等JPA或mybatis的许多特性。一个简单、有限、固执己见的ORM 扩展mybatis动态sql能力(不依赖mybatis!提取了动态sql代码),可以应对复杂sql,如果换其他模板引擎也是可以的,但有学习成本 复杂的SQL写在Markdown的代码片段中,不提供@Query和QueryDSL写法,但按方法名查找和扩展的findByExample可以应付大部分单表查询需求 简化mybatis动态sql写法easy-dynamic-sql.md
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境