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

从中断到有序:Netflix 使用 WAL 实现数据库韧性的方式

作者:Leela Kumili

  • 2025-11-10
    北京
  • 本文字数:1059 字

    阅读完需:约 3 分钟

大小:527.07K时长:02:59
从中断到有序:Netflix使用WAL实现数据库韧性的方式

Netflix 实现了一个预写日志(Write-Ahead Log,WAL)系统,以增强其数据平台的韧性。WAL 旨在解决 Netflix 面临的各种挑战,包括数据丢失、副本系统熵、多分区故障和数据损坏。该系统在将数据库变更应用到下游服务之前,会将它们捕获到一个持久化的日志中,确保即使在中断期间也能保持一致性和可恢复性。

 

Netflix 的 WAL 服务架构是模块化和可插拔的。每个变更都会被追加到日志中,该日志充当单一的事实来源,然后异步应用到目标数据库。系统将消息生产者与消息消费者分开,允许多个下游服务独立消费同一个日志。

 

Netflix 使用 SQS 和 Kafka,并默认启用死信队列,以确保可靠的交付和错误处理。该设计支持目标灵活性,允许将变更路由到不同的存储后端或处理管道,并与控制平面网关以及Netflix的数据网关集成,用于集中的数据库访问、配置和监控。

 

它可以添加额外的功能,如二级索引、延迟队列和通用复制服务,而不影响现有消费者。Netflix 工程师将这种方法描述为减少分布式数据库中的熵和最小化不必要的重试或冲突。



WAL 的架构(图片来源Netflix技术博客

 

Netflix 的 WAL 部署模型旨在实现可扩展性和运维简便性。该服务作为一个分布式系统运行,具有多个副本,自动在节点间平衡负载,同时保持强一致性。配置更改,如启用延迟队列或添加新的下游消费者,通过集中化的控制平面进行管理,无需代码更改,允许快速迭代和安全实验。



WAL 部署模型(图片来源Netflix技术博客

 

根据 Netflix 工程团队的说法,Netflix 的 WAL 使用涵盖了多个关键场景。延迟队列允许延迟处理变更,以适应下游系统的可用性或节流。跨区域复制确保多个地理区域之间的一致性,支持灾难恢复和高可用性。多表变更允许对多个数据库表进行原子更改,保持复杂工作流程的一致性。这些用例展示了 WAL 在支持高吞吐量、弹性数据管道中的作用。

根据 Netflix 工程师的说法:

可插拔架构以及通过配置而非代码更改支持不同目标的能力,是 WAL 在各种用例中的多功能性和有效性的关键。

 

整个行业都在出现类似的模式。在2025年旧金山QCon大会上,DoorDash将展示其预写意图日志(Write-Ahead Intent Log),旨在实现高效的大规模变更数据捕获(Change Data Capture)。该方法将写入与下游消费者解耦,实现了高吞吐量的近实时处理,每秒每表可高达一百万次写入,尾部延迟不到一秒。

 

早些时候,在 2024 年旧金山 QCon 大会上,Prudhviraj KarumanchiVidhya Arvind讨论了WAL如何提高分布式系统的持久性并减少熵,强调了它在维护复杂架构中一致状态的作用。

 

查看英文原文:From Outages to Order: Netflix’s Approach to Database Resilience with WAL

2025-11-10 15:401

评论

发布
暂无评论

HarmonyOS开发实战:Network Boost Kit优化文档云同步体验

huafushutong

HarmonyOS开发实战:Service Collaboration Kit实现文档服务智能联动

huafushutong

鸿蒙开发实战:NearLink Kit实现文档近场极速互传

huafushutong

【HarmonyOS】模仿个人中心头像图片,调用系统相机拍照,从系统相册选择图片和圆形裁剪显示 (二)

GeorgeGcs

HarmonyOS开发实战:AVCodec Kit实现文档视频转码嵌入

huafushutong

harmony-utils之CacheUtil,缓存工具类

桃花镇童长老

HarmonyOS ArkTS

harmony-utils之CharUtil,字符工具类

桃花镇童长老

HarmonyOS ArkTS

harmony-utils之DeviceUtil,设备相关工具类

桃花镇童长老

HarmonyOS ArkTS

HarmonyOS开发实战:Performance Analysis Kit实现文档编辑器性能调优

huafushutong

HarmonyOS开发实战:User Authentication Kit实现文档安全访问控制

huafushutong

HarmonyOS企业级开发实战:MDM Kit实现办公文档的安全管控

huafushutong

harmony-utils之CrashUtil,异常相关工具类

桃花镇童长老

HarmonyOS ArkTS

鸿蒙开发实战:Online Authentication Kit实现文档服务安全认证

huafushutong

鸿蒙开发笔记:Status Bar Extension Kit实现文档编辑器状态栏定制

huafushutong

harmony-utils之EmitterUtil,Emitter工具类

桃花镇童长老

HarmonyOS ArkTS

HarmonyOS开发实战:Network Kit实现文档云同步与协作

huafushutong

鸿蒙开发实战:Pen Kit实现手写文档批注功能

huafushutong

harmony-utils之DisplayUtil,屏幕相关工具类

桃花镇童长老

HarmonyOS ArkTS

【HarmonyOS】头像图片,调用系统相机拍照,从系统相册选择图片和圆形裁剪显示 (一)

GeorgeGcs

HarmonyOS开发实战:Universal Keystore Kit实现文档加密安全存储

huafushutong

鸿蒙开发实战:Sensor Service Kit实现智能文档阅读模式

huafushutong

HarmonyOS开发实战:Audio Kit实现文档语音批注功能

huafushutong

harmony-utils之AssetUtil,关键资产存储服务工具类

桃花镇童长老

HarmonyOS ArkTS

harmony-utils之DateUtil,日期工具类

桃花镇童长老

HarmonyOS ArkTS

HarmonyOS开发实战:Remote Communication Kit实现远程文档协作

huafushutong

鸿蒙开发实战:Wear Engine Kit实现智能手表文档预览

huafushutong

harmony-utils之AuthUtil,生物认证相关工具类

桃花镇童长老

ArkTS HarmonyOS NEXT

鸿蒙开发实战:Multimodal Awareness Kit实现智能文档交互体验

huafushutong

harmony-utils之DialogUtil,弹窗工具类

桃花镇童长老

HarmonyOS ArkTS

HarmonyOS开发实战:Telephony Kit实现文档紧急联系人联动

huafushutong

鸿蒙开发笔记:Test Kit实现文档编辑器自动化测试

huafushutong

从中断到有序:Netflix使用WAL实现数据库韧性的方式_数据库_InfoQ精选文章