开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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

2018-10-09 10:492127
用户头像

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

关注

评论 1 条评论

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

开源一夏 | 使用 CSS 的仿 GitHub 登录页面

海拥(haiyong.site)

开源 8月月更

当云走向行业垂直化,企业该如何应对?

BeeWorks

兼容认证|天融信太行云与观测云完成产品兼容性互认证

观测云

融云 | 企业通讯录的设计与实现

融云 RongCloud

通信 企业

Jedis 客户端

武师叔

8月月更

<T>和<?>区别

六月的雨在InfoQ

开源 T 8月月更

自研发RTC退退退!接入第三方RTC才是真的香

擎声科技

RTC 实时音视频 社交APP出海 泛娱乐出海 擎声Qtt

15条建议,把技术成果写成一篇高质量学术论文

阿里技术

经验分享

Apache Doris 助力网易严选打造精细化运营 DMP 标签系统

SelectDB

数据分析 OLAP Doris 多维分析 DMP

如何开发一款基于 Vite+Vue3 的在线表格系统(上)

葡萄城技术团队

Vue 前端 vite 框架 系统开发

攻克美颜、虚拟背景、眼神接触多个难题,腾讯会议技术领先的秘诀找到了

科技热闻

排查 log4j2 安全漏洞的一次经历

观测云

音视频大佬离职后,我是如何在短时间内在音视频开发做出一个性价比高的最优方案

擎声科技

开发者 RTC sdk 实时音视频 擎声Qtt

个推漫话数据智能 | 《天才基本法》中的贝叶斯网络及原理解读

个推

人工智能 机器学习 深度学习 算法模型

【LeetCode】设计有序流Java题解

Albert

LeetCode 8月月更

科创板的一束“海光”,正在让中国半导体发展之路更清晰

脑极体

大数据培训中心哪家比较靠谱

小谷哥

Gartner:云安全面临的三大挑战以及三个对应策略

BeeWorks

故障复盘后的告警如何加出效果?浙江移动等老司机总结了6条注意事项

TakinTalks稳定性社区

Tapdata 与麒麟软件完成兼容性互认证,国产化生态布局再跃步

tapdata

Tapdata Tapdata架构

灵感宝盒图谱全新改版!代码实验室开启报名丨RTE NG-Lab 双周报

声网

人工智能 RTE NG-Lab

Seata-php 入门与下半年展望

apache/dubbo-go

EMQX企业版正式上架华为云OSC,助力企业实现云原生MQTT Broker的全生命周期管理

EMQ映云科技

物联网 华为云 mqtt emqx 8月月更

重新定义容器化 Serverless 应用的数据访问

阿里巴巴中间件

云计算 阿里云 Serverless 容器 云原生

LeaRun.Java微服务快速开发平台

力软低代码开发平台

政企组织为什么更需要私有化的IM即时通讯平台?

BeeWorks

iofod - 为攻城师们打造的低代码平台

iofod jude

低代码 实用工具

一文讲透研发,SRE,运维,DevOps 的区别

Bytebase

DevOps SRE dba database

头脑风暴:完全平方数

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

合并两个有序单链表,对象析构这一着我实在没想到。

清风莫追

8月月更

【数独 1】不回溯,试试候选数法1ms高效解数独谜题-C++实现

清风莫追

8月月更

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