2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:008846

评论

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

B2B出海线索枯竭?构建海外推广持续获客的5个核心要素

Wolink

出海 出海企业 海外营销推广 海外推广 海外红人营销

采购 Abaqus 前的关键一步:企业 & 高校必备准备事项解析

思茂信息

仿真 abaqus 有限元分析

百度大数据成本治理实践

百度Geek说

hadoop spark 数据治理 成本优化

基于华为开发者空间开发平台-云开发环境(容器),完成贪吃蛇小游戏开发

华为云开发者联盟

Python 华为 程序员 华为开发者空间

Karmada 用户组再迎新成员,共绩科技正式加入 !

华为云原生团队

云计算 容器 云原生 Karmada

区块链 Web3 系统的测试

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

区块链开发 软件外包公司 web3开发

Nano Banana Pro实测!用Lovart搞定全流程营销,效率开挂!

阿星AI工作室

学习 产品 AI 设计 人工智能、

还有谁?不会用DeepSeek + Spec Driven Design来设计CAD复杂零件

行云创新

AI大模型 CAD设计 AI辅助CAD设计 AI+工业

掌门生意宝公众号管理系统:一站式实体商家线上营销解决方案

微擎应用市场

根植中国,驰骋全球 | 中国重汽:擎动商用车产业格局的中国力量

科技经济

【2026年权威甄选】八大海外网红营销服务公司综合实力对比

Wolink

企业出海 跨境电商 出海 出海服务商 品牌推广

基于华为开发者空间-云开发环境(容器)+ Versatile Agent,构建AI轻量级智能办公助手

华为云开发者联盟

人工智能 华为 华为云开发者联盟 AI Agent 华为开发者空间

别再盲目地堆砌技术了!大部份大数据项目的失败,都是因为架构设计没做对!

六边形架构

大数据 架构设计 技术架构 大数据平台 企业数据平台

数字孪生项目的开发方法与流程

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

数字孪生 软件外包公司 webgl开发

精彩回顾 | 深度拆解AI+可观测性的落地价值,驱动智能运维全面革新!

博睿数据

企业级AI应用落地:森马如何通过AI网关解决大模型“多而杂、难观测、不稳健”的挑战?

阿里巴巴云原生

阿里云 云原生 森马 阿里云AI网关

社交媒体营销的“影响力指数”评估体系

Wolink

跨境电商 社交媒体 海外营销推广 品牌出海 海外红人营销

区块链 Web3 系统的运维

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

区块链开发 软件外包公司 web3开发

海外网红推广新趋势:最新玩法与成功案例解析

Wolink

跨境电商 出海企业 海外营销推广 海外红人营销 品牌推广

AI 技术在英语教育中的应用

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

AI教育 软件外包公司 AI英语

基于华为开发者空间-云开发环境(容器)+MaaS大模型构建智能写作助手应用

华为云开发者联盟

人工智能 华为 程序员 华为云开发者联盟 华为开发者空间

数字孪生项目开发的技术

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

数字孪生 软件外包公司 webgl开发

社群引流裂变管家:智能社群运营的全能解决方案

微擎应用市场

1700美元IDOR漏洞:未经授权修改网站托管配置

qife122

网络安全 API安全

下周感恩节!文心快码助力感恩节抽奖页快速开发

Comate编码助手

AI 代码助手 文心快码 文心快码Zulu 文心快码3.5S AI编程助手

工业+ AI 实践:AI 大模型与智能体深度融合工业 CAD/CAE/PLM

行云创新

智能体 工业智能体 AI 大模型 AI+工业 AI辅助 CAD 设计

腾讯音乐如何基于 AutoMQ 降低 Kafka 50%+ 成本

AutoMQ

报表数据源配置总翻车?这篇 JNPF 实操指南,小白也能 10 分钟搞定!

引迈信息

点量云流突破技术边界,实现2D应用与3D内容的无缝云渲染融合

点量实时云渲染

数字孪生 云渲染 实时云渲染 云流化 像素流送

JNPF 报表属性深度指南:查询、排序、分栏配置逻辑 + 8 类实操案例

引迈信息

相得益彰:Mem0 记忆框架与亚马逊云科技的企业级 AI 实践

亚马逊云科技 (Amazon Web Services)

人工智能

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