推荐一款开源的基于云原生的kafka解决方案
最近刚刚了解到这个项目,已经准备实践一把了,主要是最近在压降过程中发现,有一批kafka集群其实占据了大量的资源,一直想要降掉。
了解过后,如下几点引起了关注:
- 基于云原生,可以充分利用云的弹性及低成本
- 100%兼容apache kafka
- 后端存储可使用对象存储,broker无状态
下为具体介绍:
AutoMQ Kafka:云原生的Kafka发行版
软件简介
AutoMQ Kafka是一款基于Apache Kafka的云原生软件,它通过将Broker数据卸载到共享存储,实现了Kafka的无服务器化,从而大大降低了云计算成本,提高了可扩展性和可靠性,同时保持了与Apache Kafka的100%兼容性。
功能特点
AutoMQ Kafka具有以下几个主要的功能特点:
云原生:AutoMQ Kafka充分利用了云服务的特性和优势,如对象存储、弹性计算、Spot实例等,构建了一个高可用、高弹性、高自动化的系统架构,为用户提供了低延迟、可扩展、可靠和经济的Kafka服务。
成本效率:AutoMQ Kafka通过将存储和状态卸载到云服务商的对象存储,创建了一个无状态的业务逻辑层,实现了秒级的分区迁移和流量平衡,有效地克服了Apache Kafka的缩放慢和迁移复杂的问题。
同时,AutoMQ Kafka还提供了实时的云账单分析和Spot实例集成,帮助用户优化云资源的使用,实现按需付费和节约成本。据测试,AutoMQ Kafka相比Apache Kafka可以节省高达90%的云计算成本。
可扩展性:AutoMQ Kafka通过将存储和计算分离,实现了无缝的水平扩展。由于使用了共享存储,分区迁移不需要数据复制,因此可以在秒级完成迁移切换,而不会影响数据的一致性和可用性。
此外,AutoMQ Kafka还集成了定时和自适应的弹性策略,可以根据流量的变化自动调整计算资源的规模,实现近乎最优的资源利用率。
兼容性:AutoMQ Kafka选择了在基础层面上最小化的存储替换切面,使用了Kafka的原生计算层,配合共享流存储,轻松实现了与Apache Kafka的100%兼容性。AutoMQ Kafka通过了132项兼容性测试,支持了所有的1000多个KIPs,以及0.9.0至3.4.0的版本⁵。
与Kafka的区别
AutoMQ Kafka与Apache Kafka的主要区别在于存储层的设计。
Apache Kafka使用了本地磁盘存储,需要预留规格,不够灵活,而且分区迁移需要数据复制,单个分区通常需要分钟级的迁移时间。
AutoMQ Kafka则使用了S3对象存储,按需付费,按需使用,而且分区迁移不需要数据复制,秒级完成迁移切换。
这样的设计使得AutoMQ Kafka在成本、可扩展性、可靠性等方面都有了显著的优势,同时也保持了与Apache Kafka的完全兼容性。
如何quickstart
要使用AutoMQ Kafka,您可以选择以下两种方式:
- 开源版:适用于开源开发者,自行部署场景。免费永久,具有Apache Kafka的所有功能,以及秒级分区迁移、自动流量平衡、分钟级平滑扩缩容、单副本高可用、完全按用量付费存储等特性。
- 云服务版:适用于云计算用户,无需部署,即开即用。提供免费试用,具有开源版的所有功能,以及自动云账单分析和优化、Spot实例成本降低、跨可用区三副本复制流量降低、丰富的弹性策略等特性。
开源地址:https://github.com/AutoMQ/automq-for-kafka
官网地址:https://www.automq.com/zh/kafka