2020-12-31 09:34:39 阅读(155)
Netflix是一家在线电影租赁提供商,连续五次被评为客户最满意的网站。在过去的七年里,Netflix流媒体服务从偶尔的数千名用户发展到数百万用户平均每月观看超过20亿小时。Netflix之所以如此成功,离不开对用户行为数据的收集和分析,那么Netflix会收集哪些数据,会用来做什么,处理架构是什么呢?事实上,当用户开始在Netflix的网站上观看电影或电视节目时,Netflix的数据系统将创建一个“观看会话”(view)所有描述会话的事件信息都将被收集起来。从用户体验到数据分析,观看会话数据架构可以应对许多从用户体验到数据分析的场景,其中有三个主要场景:用户看到了哪些视频?系统需要了解每个用户的所有观看历史,以便向用户推荐相关的视频内容,并在页面上的“最近观看”栏中显示观看历史。对于衡量用户的兴趣,产品和内容的决策对用户所看到的内容非常重要。用户从哪里离开视频?对于每一部电影或电视节目,Netflix将记录每个用户看到的地方,以及何时离开。这使得Netflix用户能够继续在同一个或另一个设备上观看视频。目前账户还在看哪些视频?家庭成员之间的账户共享使任何人都可以随时观看他们最喜欢的视频,但这意味着当账户同时超过在线数量时,人们必须放弃观看。Netflix的观看会话数据系统将收集每个会话的周期性信号,以确定一个成员是否仍在观看相关视频。这些场景的实现离不开强大稳定的数据处理系统。Netflix目前的系统架构已经从早期的单数据库应用程序演变而来。当时的主要需求是为用户提供低延迟的视频服务,处理数百万Netflix流设备的快速增长数据集。在过去的三年里,Netflix一直在不断改进架构,现在该系统每天可以处理大约1000亿的事件。目前的架构图如下:整个架构的主要接口是观看会话服务,分为有状态层和无状态层两部分。所有活动视图的最新数据都存储在状态层内存中。通过对用户账户ID进行modn模操作,数据简单地分为n个状态节点。当状态节点上线时,系统会通过一个位置选择流程来决定哪些数据属于它们。所有持久数据都存储在Cassandra中。Cassandra上有一个Memcached,以确保低延迟读取路径,但这样,会话数据可能会过时。同时,如果一个状态节点出现错误,则1/n的浏览数据将无法读写。无状态层的引入是为了解决这个问题,它提高了系统的可用性。当状态节点无法访问时,该层将向用户反馈过时的数据。然而,即使做了很多改进,上述结构仍然存在一些缺陷:虽然状态层使用简单的分片技术来服从热分布,但Cassandra层不服从这些热点;同时,如果将其从AWSRegion移动到多个AWSRegion,则必须定制一种机制来实现分布在不同Region上的状态层之间的状态通信,大大提高了系统的复杂性。对于观看会话服务,它包装了会话数据的收集、处理和提供功能。随着系统的演变和功能的增加,服务的责任越来越大,增加了操作和维护的难度。对于观看会话服务,它包装了会话数据的收集、处理和提供功能。随着系统的演变和功能的增加,服务的责任越来越大,增加了操作和维护的难度。虽然Memcached提供了很好的吞吐量和延迟特性,但使用一种技术可以更好地满足相关需求,为一流的数据类型和操作(如append)提供本地支持。Netflix正在重新思考其基础设施,以扩展系统以满足下一个数量级的需求。新系统设计中考虑的主要设计原则包括:可用性比一致性更重要。微服务。根据其主要目的,将具有状态结构的软组件分离为单独的服务——或收集、处理或提供数据。将状态管理功能托管到持久层,使应用层无状态,组件通过事件队列解耦。混合持久性。利用各种持久技术,利用各种方案的优势。使用Cassandra实现高容量、低延迟的写作。利用Redis实现高容量、低延迟读取。遵循上述原则的新架构实现如下:当然,这个架构图只是Netflix目前的设计图纸。至于实现的程度,我们还不知道。Netflix表示,很难重新构建关键系统,使其扩展到下一个数量级。开发、测试和验证需要很长时间,迁移也不那么容易。然而,在这些架构原则的指导下,Netflix认为,他们正在建立的下一代系统可以满足他们大规模、快速增长的需要。
以上就是关于Netflix会收集哪些数据,这些数据会用来做什么,其处理架构又是什么呢?的相关介绍,更多Netflix会收集哪些数据,这些数据会用来做什么,其处理架构又是什么呢?相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对Netflix会收集哪些数据,这些数据会用来做什么,其处理架构又是什么呢?有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一