Netflix架构

2017-12-30 11:38:36来源:oschina作者:xiaomin0322人点击

分享
Netflix架构 博客分类: 架构

视频巨头NetFlix云存储


使用亚马逊的公有云,两者形成公有云生态环节,互相促进,亚马逊将在Netflix成功方案推广给其他客户服务,Netflix则通过每晚占据全美60%网络下载量的巨大流量检验亚马逊云平台。


netflix 亚马逊

Netflix几个功能块


分发 CDN存储 包括内存存储和磁盘存储 消息 效率协调。 计算 包括同步计算和异步并发计算 支付 各种支付接口 分析 数据挖掘分析


Netflix遭遇关系数据库瓶颈:

内容 用户资料 产品模型等等都有存储,防止当机丢失。随着用户规模扩大,用户写入数据巨大,需要巨量存储
传统的集中式关系数据库无法水平扩展,分布分区能力很差。
一旦表结构改变,导致停机重启。

Netflix视频数据模型特点:

用户资料 AAA 多种格式媒体描述,flv MP4 本地差异化内容 中心统一推送内容 用户本地触发内容 特点:数据的主键比较容易获得。主要是用户主键和视频主键。

需要解决巨量登录Session

用户登录后,必须在服务器保留Session,以确认其已经登录。 Session数据在服务器间复制,效率差,影响服务器处理正向处理能力 过去使用负载平衡器将用户发往其Session创建后的服务器,负载实际不均衡。 容易导致集中式过程编程,一个服务干很多事情

云存储Session

Cassandra保存Session,易于修改。 跟踪终端用户每次操作事件,记录在Session中,可作为其回放缓存。 Cassandra前端再添加memcached,提高Seesion快速就近读取能力。 最前端通过负载平衡球进行请求级别的分发。

迁移到健壮的协议

云服务协议:REST + JSON支持单个请求包含复杂的数据类型。
Apache Avro:数据序列化更加快速,适合在http上更快交换数据。
REST结合OAuth

NetFlix持久化方案

将Avro保存在memcached。包括定义 节省空间,降低延迟(zigzag编码减少一半)
Avro能够使用JSon表达,由POJO产生。但是比较难,需要专门工具。

SQS消息中间件

消息异步中间件,提供异步分布式处理能力。
事件监听模式。发布者-订阅者。类似JMS,有Topic和Queue两种。
可实现cron类型 繁重 巨大计算任务。

消息在视频制作流程应用



异步后弹性易于扩展



消息的订阅提醒服务


Amzon EC2

弹性 多租户系统,可评估内存和CPU。 底层使用IAAS虚拟化 Eucalyptus, OpenNebula, OpenStack, OpenQRM, XenServer, Oracle VM, CloudStack, ConVirt 比较 Map/reduce计算开源工具:GridGain;GigaSpace 和Hadoop。

Netflix重点自己整合运维监视管理工具



Netflix的监视界面AppDynamics



性能线程实时监视和评估


建立大规模的真实世界推荐系统Building Large-scale Real-world Recommender Systems - Recsys2012 tutorial 解剖了Netflix的个性化特点(“一切都是个性化”),在这篇PPT中谈了Netflix的数据模型(包括物流/线性回归,弹性网,矩阵分解和马尔可夫链),消费数据科学(用户离线和在线测试),

Netflix hystrix入门教程Netflix是如何用大数据捧火《纸牌屋》的 | 36氪Netflix基于AWS的大数据平台Hadoop架构解析-CSDN.NET IBM的WebSphere实施案例使用了大半netflix oss工具 NetFlix源码开放中心如何基于开源构架设计一个视频平台?NetFlix测试Cassandra:-每秒百万次写 美国视频巨头Netflix的云存储方案Netflix开源Hystrix开源真正分布式实时大数据分析仓库DruidBlitz4j - 可伸缩的日志框架Apache Curator :让ZooKeeper使用更容易FaceBook大数据架构集群专题伸缩性scalable 大数据BigData 云计算Cloud

http://www.jdon.com/artichect/netflix.html

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台