0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

上云还是下云:章文嵩博士解读真正的云原生Kafka十倍降本方案!

jf_WZTOguxH 来源:AI前线 2023-12-08 15:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近日,AutoMQ 团队发布了基于云的开源云原生 Kafka——AutoMQ for Kafka,所有的代码采用 Apache 2.0 开源许可。AutoMQ 充分挖掘了云原生的技术红利和成本优势,再结合 Serverless 弹性技术,实现了 Apache Kafka 十倍的降本增效。本文从技术架构的角度,来揭秘 AutoMQ 为 Kafka 量身打造的云原生十倍降本方案。

今天,我们看到云计算带来了两个趋势,一个是“上云的趋势”,另一个是“下云的趋势”,相信大家都关注到了最近 X(原 Twitter) 全力“下云”,成本降低了 60%。“上云”亦或是“下云”,到底谁在节约成本,谁在增加成本,这其中的差异可能三言两语很难讲清楚,但就 AutoMQ 核心团队在阿里云多年的工作经历来看,头部云厂商一直是以“让算力普惠、释放技术红利”为使命的,那到底为什么“上云”会给企业一种更贵的感受呢?

AutoMQ 团队认为这其中最主要的差异在于云原生(Cloud Native)和云托管(Cloud Hosted)的差异。以云托管的姿势上云,最终会发现云上成本比自建机房还高,将传统的软件架构 Rehost 到云上,其本质是将 IDC 架构平移上云,是无法发挥出云基础设施的规模化优势,也享受不到成本红利。只有以云原生的姿势上云,充分利用云的弹性能力,服务化的产品和自动化的 API,才能做出云上最优的成本解决方案。

云原生的能力

在引出 AutoMQ 为 Kafka 打造的云原生架构之前,我们先来看一下云的基础设施已经进化到什么程度了,有哪些能力和优势是跟成本息息相关的,而且是传统的 IDC 架构无法充分利用起来的。

服务化的产品

云计算技术迭代的路线可以总结为:云先用软件定义硬件,再把软件变成了服务。所以,我们今天看到网络环境变成了 VPC,存储介质变成了云盘,物理主机变成了虚拟的云主机 ECS。

这些云提供的基础产品在今天已经蜕变成了服务,服务一定是具备生产可用的 SLA,比如阿里云单个 ECS 实例的可用性达 99.975%,这意味着一个单节点的微服务也可以是生产可用的,这在 IDC 环境是无法想象的事情。再例如云盘 EBS,相对于物理存储介质,EBS 天然具备 3 副本,提供 5 个 9 ~ 9 个 9 的数据可靠性,同时具备可用区内和区域内的容灾能力。

所以,我们今天做云原生架构,第一个共识就是需要意识到,基于云的架构设计已经从依赖软硬件,变为依赖云服务了,真正的云原生架构一定要充分发挥出云产品的服务化能力。

弹性

弹性可以说是云最大的优势,云积累了大规模的算力,给了单个租户无限计算资源的视图,云原生的架构完全可以假设,在云上一切资源都是无限的,都是唾手可得的。

对于 IDC 环境,因为机器资源至少月级的交付时间,传统的软件架构并不会面向弹性能力进行设计,一般都会假设保有一定的机器资源来提供软件服务。这也意味着,当传统的软件 Rehost 到云上后,也是以预留资源的形式使用云资源,一方面存在资源的极大浪费,另一方面也无法享受到云的弹性能力。

不难发现,弹性能力的来源并不是资源交付时间变快了,完全是因为云厂商通过预留大量资源实现了租户级无限的弹性的能力,所以说“世上本没有真正的弹性,都是云厂商在负重前行”。正因为这样,云厂商各个地域都有大量的闲置资源,云厂商为了尽可能将闲置的资源转换为营收,推出了 Spot 计算实例,Spot 类型的实例相较于正价的 ECS 实例,至多有 90% 的成本节约。如何充分发挥出 Spot 实例的成本优势,也是云原生架构需要重点考虑的地方。

API 定义一切

云计算所有的能力都是通过 API 来进行描述的,比如用 API 创建一台 ECS,用 API 重新挂载一块云盘,用 API 去调整云服务的 Quota 和 Limitation。

正因为此,云原生的软件有机会利用 API 去编排资源,去实现 Auto Scaling,实现容灾的切换。通过利用云的 API 完成软件核心的能力建设,甚至容灾能力的建设,这也是传统的软件架构无法办到的事情。

云服务依赖选型

云厂商提供了数百种的全托管云服务,但这些云服务成熟度完全不一样,不少小的云服务研发团队仅仅有个位数的人力投入。所以,我们在进行云原生架构设计时,需要谨慎进行云服务依赖选型,我们总结了两个原则:

选择云厂商投入最大、规模最大的云服务,这类服务成熟度往往是最高的,不能单纯看云厂商承诺的 SLA。

选择标准化的云服务以避免厂商锁定,我们设计的云原生架构必须是所有云的原生架构,而不能单纯是某朵云的原生架构。

在这两个原则的约束下的云服务,也是云厂商真正释放云原生能力的出口,它们往往有以下几个特征:

真正的按量计费,以最小的资源粒度按使用量进行计费,比如 Lambda 按调用次数计费,没有任何保有成本。将实例规格包装成按时间进行计费不是真正的按量计费。

无限的容量,给单个租户的视图一定是无限的容量,无限的存储和计算资源,业务再也不需要进行容量评估了。

低成本,真正地通过技术而不是通过亏损,通过规模去优化成本,比如对象存储 S3 是业界最便宜的存储产品之一。

选择性地依赖云服务,可以让我们的云原生架构更加灵活,充分享受到云的红利,多云原生的灵活度,更高的稳定性保障。

AutoMQ 云原生架构

AutoMQ 将消息和流存储最流行的两款开源软件 Kafka 和 RocketMQ 基于云重新设计,将这两款面向 IDC 进行架构的软件带向云原生领域。Kafka 和 RocketMQ 的核心分别是流存储和消息存储,对于存储类型的软件,要完全把云的能力用起来并不是一件容易的事情。

AutoMQ 在进行 Kafka 和 RocketMQ 重新设计之初,就定义了几个设计目标:

尽可能发挥出云的弹性能力,将弹性作为核心能力去设计,根据负载变化系统能进行弹性伸缩。

尽可能使用 Spot 实例,Spot 实例有随时被中断的风险,能否实现存储软件的“无状态”是能否利用 Spot 实例的关键。

尽可能将数据全放在对象存储上,S3 极具成本优势,存储系统降本的关键一定在于能否将 S3 的能力发挥到极致。

尽可能利用 EBS 的低延时和高性价比,解决业务对数据写入的低延时需求,通过 EBS 和 S3 组合出高可用能力即可提供低成本、高可用和高可靠的存储服务。

结合云已经有的能力,以及我们对流存储和消息存储软件的理解,我们设计了一套真正的云原生架构,同时满足了以上几个设计目标。

7a877728-9592-11ee-8b88-92fbcf53809c.png

该架构主要包含三个核心设计思想。

一、存算分离至服务

存算分离拥有状态卸载、弹性等好处,这已经是行业共识,但如何实现存算分离没有统一的方案,我们今天认为存算分离的核心是将存储分离至服务而不是软件。如果,我们为了存算分离将存算一体架构的存储部分,分离出一套分布式存储软件,这会带来额外的部署、运维以及治理的复杂度。

RocketMQ 早期的架构是完全零依赖,正因为架构极简,让它在生产系统的实际可用性非常高,今天存算分离的优势已经被众多开发者所喜爱,但是任何一个软件的可用性是由软件本身和后台运维的工程师组成,如果这个软件还依赖其他软件,那么它就类似一个串联电路,任何一个环节出问题,就会影响最终用户,尤其是依赖一个无人运维的存储系统,更是会让整个系统的复杂度和可用性失控。而云厂商的对象存储、块存储等大规模使用的系统背后有全世界最优秀的工程师在运维,理论上这样的系统一定是可用性最高的。

另外一点就是存储能否做到完全卸载,有些观点认为多级存储也是存算分离,实际上业界大部分多级存储方案都有很重的一级存储,一级存储包含了大量的存储状态。如果无法做到存储的完全分离,也就无法将存算分离的弹性优势发挥到极致。

我们对存算分离理念的实践都体现在 S3 Stream 这一基于 S3 的流存储库之上,S3 Stream 组合 EBS 和 S3 的能力,实现了低成本、高可用、高可靠以及无限容量的流存储能力,更多的技术细节详见我们的文档(https://docs.automq.com/)。

二、共享存储优于 Shared Nothing 架构

Shared Storage 和 Shared Nothing 架构各有优劣,但今天在云上,存储已经变得弹性,容量近乎于“无限”,我们认为共享存储是一个更优的架构。

通过将存储单元进行共享,状态可以快速转移,分区迁移、节点扩缩容将变得非常简单。共享存储也是云原生架构能否充分利用 Spot 实例的关键。

三、可靠性与可用性实现

回到 Kafka 和 RocketMQ 的核心能力上,这两款软件都自带多副本机制,目前分布式架构不管是 Raft 共识算法还是其他变种的副本机制,都是通过副本的冗余,一方面实现数据的高可靠,另一方面多余的副本可以快速提供故障转移的能力,从而实现高可用。

但在云上,云存储 EBS 已经自带 3 副本了,如果上层应用继续采用复制的方案,将带来 9 副本的数据冗余,以及多倍的存储和网络成本。所以,在 Kafka 和 RocketMQ 层面没有必要自己实现 3 副本。另外,EBS 是第二大存储系统,仅次于第一大存储系统 S3,云厂商对 EBS 进行深入的软硬一体优化,把 EBS 客户端卸载到神龙 CIPU(智能网卡)通过硬件来做,EBS 客户端跟 EBS 服务器的通讯针对数据中心内低延时低丢包率的特点实现自定义的传输协议而不是用 TCP,这些软硬一体优化带来的效果远远好于自己搭建的 3 副本高可靠系统。还有,在云上使用 EBS 来存储不消耗网络带宽,自建的 3 副本复制会大量消耗网络带宽。

鉴于此,AutoMQ 提出了服务的可靠性与可用性实现方案,依赖 EBS 的可靠性,可以采用单个写入计算节点,把数据先写入到存储在 EBS 裸设备的 WAL 中,若当前写入计算节点故障了,其他计算节点接管这个 EBS,从 WAL 中恢复数据。通过基于 EBS 的 Detach/Attach API 以及 NVMe 相关的 API 实现一次只有一个计算节点可以写入 EBS,确保 EBS 数据写入的一致性。

架构优势

AutoMQ 云原生架构为 Apache Kafka 带来了单副本高可用,秒级分区迁移,持续数据重平衡,分钟级平滑扩缩容等技术架构优势(更多细节参看官方文档)。

7aaa2836-9592-11ee-8b88-92fbcf53809c.png

十倍降本增效解读

AutoMQ 团队将云原生架构的技术优势,兑现为成本优势和运维效率,为 Apache Kafka 带来的十倍的降本增效。

7ab79386-9592-11ee-8b88-92fbcf53809c.png

运维效率提升

Kafka 运维有两个痛点,给运维人员带来了极大的运维成本:

分区迁移,Kafka 迁移分区需要进行数据复制,一方面额外的复制流量对生产环境会产生稳定性影响,另一方面复制耗时一般比较长,导致迁移分区的操作需要长时间进行观察,以确保系统达到终态。

扩容,当 Kafka 集群流量不足时,运维人员需要对集群进行扩容,但扩容后的节点无法承担任何流量,需要从其他节点移动分区过来,也就是说扩容需要移动大量的分区,才能达到流量的重平衡。扩容操作需要提前扩容,如果在业务高峰时进行扩容是无法缓解生产压力,反而会进一步将生产集群推向高风险状态。

AutoMQ 的云原生架构得益于将存储状态卸载到共享存储上,移动一个 TB 级的分区能将时间从 3 小时缩减为 1.5 秒,扩容后流量重平衡时间从 43 小时缩减为 1 分钟,成功地将 Kafka 高风险的常规运维动作,变成了可自动化,基本无感的低风险运维操作,大幅度降低了运维人员的工作负担。

计算和存储降本

成本方面,我们提供了一个 80 MB/s ~ 1 GB/s 的弹性工作负载用于压测真实的云账单,在该负载下,AutoMQ 提供的云原生 Kafka 版本每月仅需 5632 元,相比于自建 Apache Kafka 承担该负载需要 62,431 元,AutoMQ 的云原生架构成功降本 11.09 倍。AutoMQ 获取成本优势的核心主要有几点:

充分利用对象存储和 EBS 的低成本特性,将存储成本降低了 90%。

通过无状态的架构设计,内置 Auto Balancing 组件,实现自动扩缩容能力,再充分利用 Spot 实例,能做到计算成本降低 11.09 倍。

近期,我们发布了完整的成本分析报告,详情见 AutoMQ 的官方文档。

总结

AutoMQ 团队通过对 Apache Kafka 进行全新的云原生架构设计,成功做到了 10 倍的降本增效,充分验证了真正的云原生架构是能充分发挥云的规模化优势的,能做到超出预期的、十倍的降本效果,能大幅度降低运维复杂度,真正做到共享云的一切优势。

云计算,开辟了一个新的时代,以云原生的姿势上云,是不会有下云的忧虑,我们坚信,所有的基础软件,都值得基于云重新设计,以发挥出云全部的优势。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 架构
    +关注

    关注

    1

    文章

    537

    浏览量

    26668
  • 云盘
    +关注

    关注

    0

    文章

    38

    浏览量

    10299
  • kafka
    +关注

    关注

    0

    文章

    55

    浏览量

    5604

原文标题:上云还是下云:章文嵩博士解读真正的云原生 Kafka 十倍降本方案!

文章出处:【微信号:AI前线,微信公众号:AI前线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    读懂 MSP:企业数字化转型的云端全周期管家

    前言当“企业”从选择题变成数字化转型的必答题,越来越多企业发现:只是第一步,真正的难题藏在“用好
    的头像 发表于 05-07 13:28 457次阅读
    一<b class='flag-5'>文</b>读懂<b class='flag-5'>云</b> MSP:企业数字化转型的云端全周期管家

    瀚高数据库深度参编国家标准《信息技术 云原生关系数据库管理系统技术要求》正式发布

    基础软件领域的重要技术标准,该标准为云原生数据库产品质量提升与市场规范化运作提供了坚实支撑,有力推动数据库技术向敏捷、弹性、低成本方向加速转型,对促进产业升级与数字经济高质量发展具有深远意义。 云原生数据库是专为环境设计,充分
    的头像 发表于 04-15 16:41 416次阅读

    SDN 容器通信技术再突破:科技斩获国家发明专利授权

    前言在云原生技术全面普及的当下,容器化部署、混合组网、跨地域资源调度已成为企业数字化转型的标配,而软件定义网络(SDN)与容器技术的深度融合,始终是解决平台远程通信痛点的核心赛道
    的头像 发表于 03-24 11:25 346次阅读
    SDN 容器<b class='flag-5'>云</b>通信技术再突破:<b class='flag-5'>云</b>边<b class='flag-5'>云</b>科技斩获国家发明专利授权

    企业后,数据不通、访问卡顿?这份网融合解决方案请收好

    前言在数字化转型的浪潮中,“业务”早已成为企业升级的标配。但很多企业完成后却发现,理想中的高效流畅并未如期而至,反而陷入了新的困境:不同
    的头像 发表于 03-02 11:28 401次阅读
    企业<b class='flag-5'>上</b><b class='flag-5'>云</b>后,数据不通、访问卡顿?这份<b class='flag-5'>云</b>网融合解决<b class='flag-5'>方案</b>请收好

    商汤大装置SenseCore原生AI平台荣获信通院5A卓越级认证

    近日,商汤大装置SenseCore原生AI平台通过中国信通院与泰尔实验室《算模数用-算力平台服务能力》权威测试,获业界最高等级5A卓越级认证,这也是业界首个获得5A认证的原生AI
    的头像 发表于 02-04 15:55 522次阅读
    商汤大装置SenseCore<b class='flag-5'>原生</b>AI<b class='flag-5'>云</b>平台荣获信通院5A卓越级认证

    施耐德电气揭秘弘昇年实现业务规模十倍跨越的成长密码

    作为系统集成商的优秀代表,弘昇与施耐德电气已携手合作余年,从2014年签约额仅三百万人民币的初创企业,到2023年整体销售额突破亿元大关,实现业务规模十倍跨越,2024年更保持营业额翻倍的强劲
    的头像 发表于 01-24 16:51 2332次阅读

    ERP = 降本增效?一读懂ERP业务应用&amp;迁移核心优势

    ERP让企业转型更轻盈:无需自建服务器,专业团队保障数据安全,按需扩展随业务增长。SNP的Kyano平台提供一站式迁移方案,全球3000+企业验证,助力快速实现降本增效与业务创新。
    的头像 发表于 01-14 14:03 322次阅读

    商汤科技持续引领中国原生AI厂商阵营

    近日,权威研究机构弗若斯特沙利(Frost & Sullivan)联合头豹研究院发布《2025年H1中国全栈AI服务市场报告》。报告显示,商汤科技凭整体市场份额位列中国全栈AI服务市场第四,
    的头像 发表于 11-21 10:59 646次阅读

    三坐标高效测量压缩机涡旋盘精度解决方案

    Mizar Silver676三坐标测量机及CP500S连续扫描测头的完整测量方案,优势在于精准采集+智能分析的全链路适配。连续扫描测头实现匀速滑动采集,相比传统触发式测头,数据密度提升十倍以上
    发表于 11-13 14:06

    镓大功率 GaN 产品 | 技术参数解读 钛金服务器电源 DEMO

    镓半导体镓工业级GaN产品器件参数解读&3kW服务器电源DEMO1.前言镓半导体在工业级GaN产品不断耕耘,推出系列化GaN功率器件
    的头像 发表于 11-11 13:45 707次阅读
    <b class='flag-5'>云</b>镓大功率 GaN 产品 | 技术参数<b class='flag-5'>解读</b> 钛金服务器电源 DEMO

    华为携手产业伙伴荣获杰出电信应用案例奖

    近日,第21届 Leading Lights Awards揭晓,中国移动网络事业部、河南移动网络管理中心与华为凭借“基于TICC云原生平台的下一代电信运营实践”创新项目,荣获“杰出电信应用案例奖
    的头像 发表于 09-25 11:07 987次阅读

    中国信通院发布“2025计算大关键词”

    日前,中国信通院正式发布“2025计算大关键词”,中国信通院计算与大数据研究所所长何宝宏对“2025计算大关键词”进行了
    的头像 发表于 07-30 10:53 3446次阅读
    中国信通院发布“2025<b class='flag-5'>云</b>计算<b class='flag-5'>十</b>大关键词”

    Kafka生产环境应用方案

    Apache Kafka作为分布式流处理平台,在现代大数据架构中扮演着消息中间件的核心角色。本文将从运维工程师的角度,详细介绍Kafka在生产环境中的部署方案、配置优化、监控运维等关键技术。通过实战案例和代码示例,帮助运维团队构
    的头像 发表于 07-09 09:56 723次阅读

    云原生环境里Nginx的故障排查思路

    本文聚焦于云原生环境Nginx的故障排查思路。随着云原生技术的广泛应用,Nginx作为常用的高性能Web服务器和反向代理服务器,在容器化和编排的环境中面临着新的故障场景和挑战。
    的头像 发表于 06-17 13:53 1258次阅读
    <b class='flag-5'>云原生</b>环境里Nginx的故障排查思路

    开放生态+极简运维:多租户园区网络的云原生管理实践

    新一代化园区网解决方案,创新性地将数据中心级的Spine/Leaf架构以及“全三层”、“架构”、“超堆叠”、“漫游”等设计理念应用于园区场景,显著提升网络服务质量和运维水平。面对
    的头像 发表于 06-16 16:28 1073次阅读
    开放生态+极简运维:多租户园区网络的<b class='flag-5'>云原生</b>管理实践