把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

每日 24 亿事件处理:Airbnb 的 Riverbed 技术解析

  • 2023-10-18
    北京
  • 本文字数:934 字

    阅读完需:约 3 分钟

大小:464.63K时长:02:38
每日24亿事件处理:Airbnb的Riverbed技术解析

Airbnb开发的Riverbed是一个Lambda风格的数据框架,用于生成和管理分布式物化视图。该框架支持 50 多个涉及重度数据读取的应用场景,在这些场景中,数据来自 Airbnb 面向服务架构(SOA)平台的多个数据源。它分别使用 Apache Kafka 和 Apache Spark 作为在线和离线处理组件。


Airbnb 观察发现,一些跨多个不同数据存储的复杂查询是导致该平台主要功能出现延迟的罪魁祸首。开发团队不能使用数据库提供的标准的物化视图,因为计算物化视图所需的数据不在单个数据库中。


开发团队尝试使用一种技术来创建分布式物化视图,该技术使用了变更数据捕获(CDC)、流处理和专门用来存储最终结果的数据库。他们仔细权衡了数据处理架构:


Lambda 和 Kappa 是两种实时数据处理架构。Lambda 结合了批处理和实时处理,可以有效地处理大数据量,而 Kappa 仅专注于流处理。Kappa 的简单性提供了更好的可维护性,但在实现回填机制和确保数据一致性方面存在挑战,特别是对于乱序事件。


Riverbed 框架采用了 Lambda 架构,并提供了一种声明式的方式,使用GraphQL为在线(实时事件)和离线(数据回填)组件定义数据查询和计算逻辑。该框架负责并发、版本控制和数据正确性保证,以及与基础设施组件的集成。



Riverbed 的流式处理(来源:Airbnb工程博客)


对于实时处理,Riverbed 使用Apache Kafka消费数据源发出的变更数据捕获(CDC)事件来进行消息传递。来自 CDC 的事件通过执行用 GraphQL 定义的聚合逻辑来更新物化视图,结果文档存储在物化视图数据库中。为了提高效率,处理是高度并行化和批量化的。


流式管道避免了竞态条件,因为 CDC 事件在 Apache Kafka 中基于物化视图文档的标识符被重新分区,因此对物化视图的更新是顺序完成的。此外,在在线(实时)和离线(批处理)处理之间使用乐观并发控制来避免并发写和潜在的数据不一致。



Riverbed 的批处理(来源:Airbnb工程博客)


Riverbed 支持数据回填和协调,以防出现因丢失 CDC 事件导致的实时处理问题。这一部分使用Apache Spark来处理存储每日快照的数据仓库中的数据。该框架基于在 Riverbed 中配置的 GraphQL 定义生成Spark SQL


Riverbed 目前每天处理 24 亿个事件,写入 3.5 亿个文档,处理与 Airbnb 的支付、搜索、评论、行程和内部产品等功能相关的 50 多个物化视图。


原文链接

https://www.infoq.com/news/2023/10/airbnb-riverbed-introduction/

2023-10-18 08:0012601

评论

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

添加DNS解析记录时,提示A和CNAME记录冲突是怎么回事?

防火墙后吃泡面

C# LINQ 快速入门实战指南,建议收藏学习!

电子尖叫食人鱼

C#

MySQL备份文件导入GreatSQL MGR环境为什么出现大量报错?

GreatSQL

C语言 AI 通义灵码 VSCode插件安装与功能详解

阿里云云效

C语言

多家企业领先实践证明:成功的软件国产替代不是个例!

用友BIP

AI 智能体 用友BIP 软件国产替代

微服务拆分的原则、时机、方法以及常见问题

秃头小帅oi

如果单表数据量大,只能考虑分库分表吗?

伤感汤姆布利柏

Apache DolphinScheduler社区答疑Star第一期评选结果公示

白鲸开源

开源 Apache DolphinScheduler

近20款客服类SDK已适配鸿蒙5,覆盖电商、金融、教育、政务等行业

新消费日报

MySQL 的四种社交障碍等级

秃头小帅oi

相约2025慕尼黑上海电子展,展望可穿戴设备未来发展!

极客天地

中烟创新入选2025全国企业“人工智能+”行动创新案例TOP100

中烟创新

如何使用通义灵码完成PHP单元测试 - AI辅助开发教程

阿里云云效

php

一键解锁智能体50+场景,HR SaaS就选用友BIP企业AI全栈云

用友BIP

智能体 HR SaaS 用友BIP 企业AI 全栈云

如何使用AI辅助开发R语言

阿里巴巴云原生

R语言

AI之下的KA经营协同:智能抓单 智能处理 高效协同 智能分析

用友BIP

AI 智能体 用友BIP KA经营协同

卤制品加工MES及生产管理智能化解决方案

万界星空科技

mes 食品MES 食品行业 卤制品行业 食品加工行业

从 DB-Engines 排名攀升看 TiDB 全球突破之路

PingCAP

人工智能 数据库 TiDB

加速高水平研究型医院建设!以 AI 力量驱动医院科研管理效能提升

ModelWhale

人工智能 大数据 AI 医疗

云备份技术解析:云容灾 CT-CDR 关键技术介绍

天翼云开发者社区

云备份 云灾备

C语言 AI 通义灵码 VSCode插件安装与功能详解

阿里巴巴云原生

C语言

关于单条数据过长insert报错问题处理

TiDB 社区干货传送门

深入研究:京东商品列表API详解

tbapi

京东API接口 京东商品数据采集 京东商品列表API接口

数造科技连续入选中国信通院「铸基计划」,领航产业数字化新标杆!

数造万象

AI 数据分析 数据治理 Data 大模型

如何使用通义灵码完成PHP单元测试 - AI辅助开发教程

阿里巴巴云原生

php

从测试到芯片全链条覆盖,慕尼黑上海电子展解码储能技术盛宴

极客天地

如何使用AI辅助开发R语言

阿里云云效

如何使用BOM和MRP解决生产物料管理混乱问题

积木链小链

数字化转型 智能制造 物料管理

供应链复杂、工厂分散,半导体行业如何安全访问总部ERP系统?

贝锐

内网穿透 ERP

每日24亿事件处理:Airbnb的Riverbed技术解析_业务架构_Rafal Gancarz_InfoQ精选文章