Netflix数据管道的变化历程
去年12月我们的Keystone数据管道正式投入使用,本文我们就来讲讲这些年Netflix数据管道的变化历程。
数据是Netflix的中心,很多的商业决策和产品设计都是依据数据分析而做出的决定。在Netflix,数据管道的目的是对数据进行收集归纳和处理,几乎我们所有的应用都会用到数据管道。下面我们先来看看有关Netflix数据管道的一些统计数据:
我们用另外的Atlas系统来管理运营相关的数据所以它并没有出现在上面的列表中。
由于需求的变化和技术的进步,过去几年我们的数据管道发生了很大的改变。下面我们就来介绍一下。
V1.0 Chukwa数据管道
最初数据管道唯一的目的就是把事件信息上传到Hadoop/Hive。如下图中所示,整个架构是比较简单的。Chukwa收集事件信息并将sequencefile写入亚马逊S3,之后大数据平台部门会进一步处理并写入Hive。从事件发生到以Parquet格式写入Hive整个过程不超过十分钟,对于每小时甚至每天才运行一次的batch job来说已经足够了。
V1.5 能够进行实时处理的Chukwa数据管道
随着Kafka和Elasticsearch等技术的发展,公司内部对于实时分析的需求愈加强烈,我们必须保证处理所需时间在一分钟之内。
除了将数据写入S3,Chukwa还可以将数据发送到Kafka,新的实时分支(虚线框住的部分)处理的事件大约占到总事件的30%。处于实时处理分支中心位置的是事件路由模块,它负责将数据从Kafka传递到Elasticsearch和下一级Kafka(进行数据的筛选)。终端用户可以自由选择趁手的工具进行分析,比如Mantis、Spark或其他定制工具。
Elasticsearch在Netflix的应用过去两年经历了爆炸式的发展,现在共有约150个集群和约3500个节点,总数据量约1.3PB,而这其中大部分数据都是通过我们的数据管道采集处理的。
数据路由的部分是由我所在的小组管理的,下面是一些我们碰到过的问题:
Kafka high level consumer会丧失消息分区的所有权并停止读取一些分区,唯一的解决办法是重启。
我们有几十个集群用于事件路由,运营上的开销正持续增长,所以对于路由job的管理还要想个更好的办法。
V2.0 Keystone数据管道
我们决心对V1.5的数据管道进行调整是基于下面三个方面的考量。
Keystone数据管道已经在生产环境中平稳运行了几个月,不过我们还在进行质量、扩展性、可用性和自动化方面的提升。
原文发布时间为:2016-03-15
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号
“从幼稚到成熟,是从不负责任到承担责任的过程” | 技术人金句系列 技术人做事情,判断力和分寸感很重要。有时候你遇到的困难和问题,可能别人早就经历过、克服过,并沉淀了与之匹配的“判断力”和“分寸感”。 今天,我们想分享来自大淘宝技术工程师们的《人间清醒语录》,这些金句里凝结了他们多年实践经验的智慧,希望可以给你带来启发和思考。
Suro —— Netflix开源的分布式数据管道系统 Netflix近日开源了一个叫做Suro的工具。Suro从多个应用服务器收集事件数据,以便发送其他数据平台(例如Hadoop和Elasticsearch)。随着Suro的开源,Netfix的这项大数据上的创新有望成为主流技术。
业内对 5G 的响应 | 带你读《5G时代的承载网》之五 自 2014 年 5 月 13 日三星电子宣布其已率先开发出了首个基于 5G 核心技 术的移动传输网络,并表示将在 2020 年之前进行 5G 网络的商业推广以来,关 于 5G 的话题如火如荼。
5G 的行业应用 | 带你读《5G时代的承载网》之六 5G 不仅仅是下一代的无线网,以 5G 无线网为基础,将带来耳目一 新的新一代应用。就像 4G 网络推动了“互联网 +”产业的发展, 5G 将为现在的各行各业带来什么样的行业新应用,万物互联的未来世 界将是什么模样?本章我们进行展望。
5G 引发革新 | 带你读《5G时代的承载网》之三 移动通信从 1G 到 4G,经历了四代的发展,过去 40 年移动通信的发展已 经极大地改变了人们的生活,个人通信的高速技术发展为人类和社会带来了广 泛的便利和福利。如今,站在 5G 时代的历史节点,让我们来细数 5G 将为我们 带来些什么。
相关文章
- 网络通信分享(一):数字签名,数字证书,https通信,数据加密
- Python中elasticsearch插入和更新数据的实现方法
- 大数据时代下需要新一代的数据治理能力
- 数据分析电子商务B2C全流程_数据分析师
- 产品运营数据分析—SPSS数据分组案例
- 【视频】vue $watch监控数据的变化
- Atitit 列表表格按照字段排序数据解决方案
- SAP系统和微信集成的系列教程之四:如何将SAP C4C主数据变化推送给微信公众号的关注者
- 炫“库”行动-人大金仓征文大赛—数据领域“新·独角兽”
- 为什么学习Python?数据给你八大理由
- 基于蒙特卡诺的电动汽车对电网影响(数据+Matlab代码)
- CWE 4.3:强化你的数据自我保护能力
- Python如何爬取实时变化的WebSocket数据
- 7步教你随心所欲的用 Pandas 对数据进行复杂查询
- [手游新项目历程]第7天-读取二进制的char*数据to整形
- Python编程:SQLAlchemy查询数据没有变化
- Vue学习之--------列表排序(ffilter、sort、indexOf方法的使用)、Vue检测数据变化的原理(2022/7/15)
- wazuh hips规则引擎和ossec的差异分析——本质上语法层面和ossec没有变化,但是公共字段提取出来了,同时正则匹配数据提取灵活性更强
- Spring JDBC插入数据
- 大数据Hadoop之——任务调度器Oozie(Oozie环境部署)
- RFSoC应用笔记 - RF数据转换器 -10- RFSoC关键配置之其他功能(一)
- 【Android-Jetpack进阶】4、LiveData:Activity 监听数据变化,用 LiveData + ViewModel 在 Fragment 间共享数据
- 【模型预测控制】低数据极限下非线性动力学稀疏辨识模型预测控制(Matlab代码实现)
- 【TigerGraph】图数据库实战入门 —— 数据导入
- 大数据中判断一个数据存在