QCon San Francisco 2023 首日演讲总结:Netflix 会员管理架构
在 QCon San Francisco 2023 的第一天,Netflix 的高级软件工程师 Surabhi Diwan 发表了关于管理 Netflix 2.38 亿(活跃)会员的演讲。她的演讲属于“你一直好奇的架构”主题。
演讲者背景与 Netflix 会员工程团队
Surabhi Diwan 在 Netflix 负责会员工程团队的后端工作,该团队对 Netflix 的注册和流媒体服务至关重要。她的团队致力于解决大规模分布式系统的复杂问题,并确保高精度。
Netflix 的会员工程团队负责以下内容:
- 订阅定价
- 所有会员信息的单一数据源
- 会员生命周期的管理
此外,该团队还支持注册流程、根据会员订阅应用正确的计划、账户操作和捆绑激活,并负责会员架构的设计。
会员架构的技术选择
Diwan 在演讲中详细介绍了会员架构的技术选择,并通过注册流程向观众展示了这些技术如何实现。主要内容包括:
- 分布式系统架构:优化高读取请求率(RPS)
- 微服务:使用 gRPC 在 HTTP 层实现 12 多个微服务
- 编程语言:Java 和 Kotlin,结合 Netflix Spring Boot
- 消息传递:使用 Kafka
- 大数据处理:使用 Spark 和 Flink 进行离线对账
运维与监控
- 操作技术:轻量级事务和重试机制作为在线系统的第一道防线,定期运行的多种对账任务,100+ 数据警报,以及人工检查每条记录以确保其状态正确。
- 监控:广泛的错误日志和请求/响应日志,使用 Kibana 和 Elasticsearch,分布式追踪,基于可观测性指标的生产警报,以及与 Netflix 平台团队合作部署复杂的机器学习模型进行异常检测。
三个关键用例
- 定价技术演进:随着 Netflix 的全球化扩展,会员库的范围扩大,涵盖服务质量、支持的设备、下载访问等,最终形成了新的计划和定价架构,成为所有会员的单一数据源,能够处理数百万请求。
- 会员历史管理:通过使用变更数据捕获(CDC)模式,创建了所有订阅变更的仅追加日志,提高了可见性和可追溯性。
- 会员订阅生态系统的演进:初始架构基于 gRPC 和 Cassandra,但缺乏状态对账和数据删除能力。最终通过引入 Spark 作业进行离线对账,添加数据审计和删除管道,解决了这些问题。
演讲总结
Diwan 总结了三个关键点:
- Netflix 定价:技术选择要有前瞻性,及时反应。
- 会员历史:某些架构选择可能在将来带来巨大回报,勇于投资大赌注。
- 会员订阅演进:持续改进,永远没有真正的终点。
引用:“架构设计是一个持续演进的过程,永远没有真正的终点。”
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。