技术架构
Apache Kafka 诞生于 2011 年,面向传统的数据中心进行设计,以经典的 Shared Nothing 架构解决了横向扩展性问题,并逐渐演进至 Tiered Storage 架构以享受云存储带来的成本优势。到今天,AutoMQ 带来了一种更加纯粹的 Shared Storage 架构,能充分发挥出云原生的全部优势,相比较 Apache Kafka 有十倍的成本优势和百倍的运维效率提升。Shared Nothing 架构

- 选择云存储 EBS 作为 Broker 的存储介质,但价格高昂。EBS 自带的三副本机制叠加 ISR 复制会导致数据被存储 9 份,有极大的存储空间浪费。
- 选择本地磁盘作为 Broker 的存储介质,成本相对可控,但用户需要付出高昂的运维成本,上云的优势不复存在。
Tiered Storage 架构

- 一级存储消耗的空间可以降低,但能降低多少因场景而异,还是需要进行严谨的容量评估,ISR 的复制带来的高昂的 EBS 成本也无法彻底解决。
- 无法快速扩缩容的问题依然存在,一级存储中的数据在扩容和缩容时都需要进行迁移复制,耗时可能从数十小时优化至了数小时。
Shared Storage 架构

- 对象存储作为主要数据存储,提供弹性、按需付费、低成本的数据存储解决方案。
- 由于对象存储具有高延迟和低 IOPS 的特性,AutoMQ 引入了 WAL 存储层,提升数据写入效率并降低 IOPS 消耗。
- WAL 存储在不同云厂商的平台上可以选择多种存储服务。可选方案包括具备多 AZ 容灾的 Regional EBS 服务,文件存储服务如 AWS EFS 和 FSx,甚至对象存储可同时用作 WAL 和数据主存。