阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

Netflix 实时流处理平台 Keystone 介绍

  • 2018-10-09
  • 本文字数:1204 字

    阅读完需:约 4 分钟

Netflix 近日在他们的技术博客上发表了一篇博文,探讨其实时流处理平台 Keystone 的设计考虑和见解。

Keystone 自 2015 年 12 月开始运营,随着 Netflix 订阅用户从 2015 年第 2 季度的 6500 万增长到本文写作时的 1.3 亿多,其规模大幅增长。Keystone最初是作为一个Apache Chukwa 管道,随着时间推移演变成了一个 Kafka 前端管道。据这篇博文介绍,早在2016 年,Netflix 就用36 个Kafka 集群每天处理超过7000 亿条消息。

Netflix 的架构由两个不同的实时流处理平台组成。Keystone 专注于数据分析, Mantis 专注于运营。Keystone 提供了数据管道功能和“流处理即服务”。数据管道几乎实时地生成、处理和分析来自 Netflix 运营的所有不同微服务的数据。流处理即服务允许内部用户在开发和运营自定义流处理应用程序时专注于业务应用程序逻辑。

Netflix 在构建和扩展平台时面临的主要挑战,与工程师在构建大规模分布式系统时面临的挑战类似。路由服务支持可调的至少一次交付的语义,并在延迟和消息交付之间进行折中。

Keystone 使用了 Apache Flink ,可以支持无状态和有状态的作业、突发或恒定流量、几秒到几小时的窗口大小、按需严格排序以及可配置的消息传递保证。资源争用也可能成为系统设计的一个问题,因为不同的作业可能在 CPU、内存、I/O 或网络带宽上存在竞争。系统用户有软件工程师也有业务分析师。所有这些挑战,再加上他们希望实现一个基于多租户云的系统,而该系统必须足够简单,以便其用户可以声明并执行作业,而且大多数作业无需依赖运营同事就可以完成,这些构成了一组有趣的设计需求。

Keystone 平台的理念可以总结为使用户完成任务。可调折中、关注点分离和子系统故障(可能发生并将要发生,被描述为“作为一流公民的失败”)是至关重要的基础。

Netflix 工程团队使用声明式协调协议来实现 Keystone 的设计。每个用户声明的目标状态都存储在 AWS RDS 中,并作为事实的唯一来源。例如,如果 Kafka 集群消失了,那么它仅基于 AWS RDS 数据就可以进行重建。

部署编排是通过持续交付工具 Spinnaker 实现的,每个作业都有一个独立的 Flink 集群。每个组件的惟一共享组件是用于协商一致的 ZooKeeper 和用于存储检查点状态的 S3。自助服务工具帮助用户通过路由作业的用户界面和流处理即服务的 CLI 接口来声明作业。

一组内部开发的、针对 Kafka、ElasticSearch 和 Hive 等的托管连接器可以帮助打算使用 Keystone 的开发人员更快地开发,而无需考虑平台的内部结构和消息解析。自定义领域专属语言(DSL)库抽象了过滤、投影和其他常用的数据转换任务。该平台通过 AWS RDS 协调机制提供自修复功能,在出现故障时,可以通过用户界面用需要的数据回填或回放作业。最后,该平台内置了监控和警报功能。

Keystone 平台的未来开发包括服务层、流媒体 SQL 支持和机器学习等功能,所有这些都将在未来的 Netflix 工程博客文章中详细介绍。

查看英文原文: Netflix Keystone Real-Time Stream Processing Platform

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2018-10-09 10:491893
用户头像

发布了 1008 篇内容, 共 373.8 次阅读, 收获喜欢 340 次。

关注

评论 1 条评论

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

Walrus 实用教程|Walrus + Gitlab,打通CI/CD 自动化交付!

SEAL安全

开源 gitlab CI/CD Walrus

小程序定制开发:解析定制化移动应用的未来

天津汇柏科技有限公司

小程序 小程序开发 小程序开发,软件开发

软件测试|人工智能:测试开发的新宠儿

霍格沃兹测试开发学社

软件测试|探索多态在程序设计中的奇妙应用与巧妙技巧!

霍格沃兹测试开发学社

2024年带大家一起深入了解堡垒机功能以及作用

行云管家

网络安全 数据安全 云安全 堡垒机

iTunes Connect 中修改后的内购(IPA)审核所需的时间

雪奈椰子

测试开发高薪私教线下周末班试听精彩内容回顾

测吧(北京)科技有限公司

测试

人工智能:测试开发的新宠儿

测吧(北京)科技有限公司

测试

左耳听风 - 关于招聘「读书打卡 day 20」

Java 工程师蔡姬

读书笔记 程序员 个人成长 招聘 职业发展

LED屏模组偏色怎么办?

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

政务云相关名词解释看这里!

行云管家

云计算 云管平台 云管理 政务云

一次因PageHelper引起的多线程复用问题的排查和解决 | 京东物流技术团队

京东科技开发者

ETL怎么实现文件处理

RestCloud

ETL 数据集成 文件处理

如何实现一个百万亿规模的时序数据库,百度智能云 BTS 架构解析和实践分享

百度Geek说

架构 时序数据库 百度智能云

如何实现一个高扩展、可视化低代码前端框架

互联网工科生

低代码 前端框架 JNPF

测试开发高薪私教线下周末班试听精彩内容回顾

霍格沃兹测试开发学社

素数检验---跨越2000年的人类智慧

fliter

超越常规!探索多态在程序设计中的奇妙应用与巧妙技巧!

测试人

软件测试

年度重磅更新!“AI+可视化拖拽”实现个性化页面极速开发!组件设计器即将上线!

优秀

AI 网站开发 组件化开发

通过人力资源规划,实现企业财务计划与分析的转型

智达方通

全面预算 财务规划与分析 人力资源规划

2024年企业选择堡垒机指南

行云管家

网络安全 数据安全 云安全 堡垒机 企业数据安全

软件测试的发展现状与未来趋势

测试人

软件测试

超越常规!探索多态在程序设计中的奇妙应用与巧妙技巧!

测吧(北京)科技有限公司

测试

火山引擎ByteHouse:分析型数据库如何设计列式存储

字节跳动数据平台

数据库

Netflix实时流处理平台Keystone介绍_开源_Alex Giamas_InfoQ精选文章