写点什么

Canva 选择 Amazon KDS 而非 SNS+SQS,每天处理 250 亿个事件,节省了 85% 的成本

作者:Rafal Gancarz

  • 2024-09-05
    北京
  • 本文字数:1274 字

    阅读完需:约 4 分钟

Canva 选择 Amazon KDS 而非 SNS+SQS,每天处理 250 亿个事件,节省了 85%的成本

Canva 对其产品分析平台评估了多种不同的数据处理解决方案,包括 AWS SNS 和 SQS 的组合、MKS 以及 Amazon KDS,最终选择了后者,主要是因为其成本要低得多。该公司比较了这些解决方案的许多方面,比如性能、维护工作量以及成本等。


Canva 每天处理约 250 亿个产品分析事件,以支持许多面向用户的功能,如个性化及推荐、使用统计及见解。所捕获的数据也是支持任意新产品特性 A/B 测试的关键。


收集和分发产品分析事件的数据管道不仅需要支持非常高的吞吐量,还需要支持高可用性(99.999% 的正常运行时间),并且还要具有成本效益、可靠性和用户友好性。负责为产品分析提供事件驱动架构(EDA)的团队在 MVP 的早期阶段使用了 AWS SQS 和 SNS 的组合。这些服务易于设置,并提供了出色的弹性和可扩展性,但它们的成本占了运行架构的 80%。



使用 Amazon KDS 的产品分析数据管道(来源:Canva 工程博客)


基于最初的 MVP 经验,该团队决定寻找能够以较低成本满足性能要求的替代方案,并考虑了另外两种 AWS 服务:Amazon Managed Streaming for Apache Kafka (MSK) 和 Amazon Kinesis Data Stream(KDS)。工程师们比较了这些服务的成本、性能和可维护性,最终选择了 KDS,因为它本身的成本低(比 SQS+SNS 便宜 85%),而且维护的成本也极低,尽管与 MSK 相比延迟更高(高 10-20 毫秒,但可以接受)。


为了提高基于 KDS 的解决方案的成本效益,该团队使用了事件批处理和 zstd 压缩,压缩比为 10 倍,每批压缩延迟为 100 毫秒。工程师估算,使用压缩技术每年可节省 60 万美元。


使用 KDS 时需要特别注意的一个方面是尾部延迟高(超过 500 毫秒),并且当吞吐量峰值超过每个分片 1MB/s 的硬限制阈值时会进行限流。工程师们实现了一种利用 SQS 队列的回退逻辑,结果实现了低于 20 毫秒的 p99 延迟,同时每月为 SQS 支付的费用不到 100 美元。回退选项还兼作了故障转移机制,以防 KDS 遇到严重的服务降级或中断。



在 KDS 限流情况下,回退到 SQS(来源:Canva 工程博客)


该团队使用 Protocol Buffers 来确保架构的可描述性以及随着时间推移来演进事件定义。Canva 已经在使用 Protocol Buffers 来定义微服务之间的契约,但对于事件定义,它还需要完全的向后和向前兼容性。工程师们还在 protoc 之上创建了一个自主研发的代码生成工具。


Datumgen 用于验证兼容性要求并生成多种语言的代码。此外,该工具从事件定义中提取元数据,以增强事件目录数据,其中包含有关技术和业务所有者的详细信息以及字段描述。文档完备且最新的事件模式有助于 Canva 保持数据质量,避免运行时因模式不兼容而导致的代价高昂的问题,并使工程师能够发现可用的产品分析事件。


作者介绍


Rafal Gancarz 是一位经验丰富的技术领导者和专家。他目前正在帮助星巴克打造可扩展、弹性和成本效益高的商务平台。此前,Rafal 曾为思科、埃森哲、凯德、ICE、Callsign 等公司设计和构建大规模、分布式和基于云的系统。他的兴趣涵盖了架构与设计、持续交付、可观测性和可维护性,以及软件交付的社会技术和组织方面。


原文链接:

https://www.infoq.com/news/2024/08/canva-amazon-kinesis-data-stream/


2024-09-05 08:008828

评论

发布
暂无评论
发现更多内容

阿里巴巴 AI Coding 分享会 —— Qoder Together 广州站来啦!

阿里巴巴云原生

阿里云 AI 云原生 Qoder

数式Oinone荣获OSCAR开源+商业化企业,铸就开源低代码新标杆

极客天地

如何构建绿电直连"神经末梢"?西格电力感知层核心技术与实战方案

西格电力

光伏行业 新能源产业 风电 绿电直连 绿色低碳发展

Agentic AI基础设施实践经验系列(六):Agent质量评估

亚马逊云科技 (Amazon Web Services)

人工智能

20年装备制造业MES实施经验分享

万界星空科技

制造业 mes 万界星空科技mes 软件实施 MES实施

「腾讯云NoSQL」技术之Redis篇:精准围剿rehash时延毛刺实践方案揭秘

腾讯云数据库

数据库 nosql redis 腾讯云数据库 腾讯云NoSQL

音乐 NFT 系统开发流程

北京木奇移动技术有限公司

区块链开发 软件外包公司 音乐NFT

如何用复用省下数十亿研发成本?IPD的CBB重用开发策略

IPD产品研发管理

产品 管理 IPD 研发团队

使用 Java、Spring Boot 和 Spring AI 开发符合 A2A 标准的 AI 智能体

码界行者

AI Agent Spring AI

日志易产品VP饶琛琳:日志不会说谎,但Trace可能会

日志易

日志分析 日志易 trace断链

全球化部署的几种架构设计方案【原创】

车江毅

技术架构 运维架构 全球化部署 出海技术战略规划

Sentieon | 鸡全基因组(WGS)分析流程

INSVAST

Sentieon 生物信息分析服务 分子育种 全基因组分析流程 物种测试

真实复盘!LLM应用开发面试高频坑与加分话术,遇到直接抄

王中阳Go

LLM

从数据到决策:海外舆情分析服务如何指引企业的下一步商业行动

沃观Wovision

海外舆情 海外舆情监测 舆情监测平台

开源能源管理系统:赋能可持续能源转型的 “透明化引擎”

开源能源管理系统

开源 能源管理系统

音乐 NFT 平台的运营

北京木奇移动技术有限公司

区块链技术 软件外包公司 音乐NFT

开源能源管理系统五大核心趋势:定义下一代能源管理新范式

开源能源管理系统

开源 开源能源管理系统

AI时代,金融科技如何落地“对话就能办业务”?

FinClip

App 金融 sdk AI Studio finclip

开源能源管理系统的五大进化方向:从工具到生态的范式转移

开源能源管理系统

开源 开源能源管理系统

深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践

阿里巴巴云原生

android 阿里云 云原生

阿里云通过中国信通院首批安全可信中间件评估

阿里巴巴云原生

阿里云 云原生

得物TiDB升级实践

得物技术

数据库 TiDB 数据库性能优化

不止是监控:5个专注于出海舆情监测分析与报告的网站

沃观Wovision

出海企业 海外舆情监测 舆情监测网站 出海舆情

从小白到专家:值得收藏的10个出海舆情监测网站

沃观Wovision

舆情监测 海外舆情监测 舆情监测网站 出海舆情

AI开发工具助力程序员突破“35岁魔咒”,职场寿命延长5~10年

JEECG低代码

从舆论噪声到战略信号:优秀海外舆情分析平台必备的三大洞察维度

沃观Wovision

舆情监测 海外舆情监测 出海舆情 舆情监测平台

Canva 选择 Amazon KDS 而非 SNS+SQS,每天处理 250 亿个事件,节省了 85%的成本_云计算_InfoQ精选文章