50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:492489
用户头像

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

关注

评论 1 条评论

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

“双减”一年,如何让教育回归本质?

旺链科技

区块链 产业区块链 企业号九月金秋榜 教培行业

全新演绎!美团内部疯传Spring Boot速成手册也太香了叭!

收到请回复

Java 云计算 开源 架构 编程语言

从零到一构建完整知识体系,阿里最新SpringBoot原理最佳实践真香

程序员小毕

Java spring 源码 面试 SpringBoot 2

面试造火箭!连续轰炸50问,我却靠这些"java复习宝典"一一攻克!

收到请回复

Java 云计算 开源 架构 编程语言

阿里大佬力荐6篇实战文档:JVM+多线程+Kafka+Redis+Nginx+MySQL,你确定不看?

收到请回复

Java 云计算 开源 架构 编程语言

推荐|海泰国密通信安全解决方案 助力用户实现安全合规

电子信息发烧客

如何设计企业级数据埋点采集方案?

字节跳动数据平台

数据分析 用户增长 埋点 数据应用 埋点设计

小红书自研小程序:电商体验与效果优化的运行时体系设计

小红书技术REDtech

小程序 前端 小程序运行时

Paper Time|开放式时空大数据助力智能公交路线规划

OceanBase 数据库

FreeRTOS记录(八、用软件定时器?还是硬件定时器?)

矜辰所致

软件定时器 FreeRTOS 9月月更

7.07亿TPC-C背后的技术突破,OceanBase研究成果入选VLDB

OceanBase 数据库

关于用户 email 邮件地址是否允许有加号的问题

汪子熙

typescript 正则表达式 邮件 9月月更 输入校验

变革加速,博睿数据赋能“中国智造”转型升级

博睿数据

可观测性 智能运维 博睿数据

一文看懂:什么是CRM系统?有什么用?哪些公司在用?

优秀

CRM系统

算法基础(二)| 高精度算法详解

timerring

算法 9月月更

百度App Android启动性能优化-工具篇

百度Geek说

android 性能优化 企业号九月金秋榜

重磅!阿里首推内部“SpringCloudAlibaba项目文档”这细节讲解,封神!

收到请回复

Java 云计算 开源 架构 编程语言

WorkPlus移动应用管理平台 | 政企数字化的超级“连接器”

BeeWorks

“大厂”角力移动办公系统市场,钉钉和企微向左、WorkPlus向右

BeeWorks

SpringBoot源码 | refreshContext方法解析

六月的雨在InfoQ

源码 springboot 源码阅读 9月月更 refreshContext

华为云快成长直播ERP专场,以数据驱动企业智慧变革

科技怪咖

新零售数智化转型,需要怎样的数据底座?

OceanBase 数据库

Databend 特性系列(1)|Databend 数据生命周期

Databend

大数据 大数据 开源 数据生命周期

【指针内功修炼】字符指针 + 指针数组 + 数组指针 + 指针参数(一)

Albert Edison

C语言 二维数组 9月月更 指针数组 数组指针

华为云快成长直播间大数据&AI专场,加速经济物联网智能化提升

科技怪咖

京东金融客户端用户触达方式的探索与实践

京东科技开发者

京东 用户 用户触达 widget 推送

带您了解昇腾模型压缩工具

华为云开发者联盟

人工智能 后端 企业号九月金秋榜

MobLink Android 快速集成文档

MobTech袤博科技

sdk Android;

高并发之缓存

源字节1号

软件开发

一文带你体验MRS HetuEngine如何实现跨源跨域分析

华为云开发者联盟

大数据 后端 企业号九月金秋榜

私有化的即时通讯工具能为企业带来哪些帮助?

BeeWorks

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