netflix 工作原理_Netflix如何在屏幕后面工作?

netflix 工作原理

Netflix has reported to have over 182 million subscribers worldwide in the first quarter of 2020 (Of course, these numbers don’t include freeloaders like me, who’s family or friends have been generous enough to share their account and password). It shouldn’t be surprising that 16 million of these subscribers have joined in the first three months of this year as compared to 5 million new subscribers per quarter earlier.

據Netflix報道,到2020年第一季度,全球訂戶超過1.82億(當然,這些數字不包括像我這樣的免費載客,他們的家人或朋友足夠慷慨地分享他們的帳戶和密碼)。 不足為奇的是,今年前三個月有1600萬訂戶加入,而之前每個季度有500萬新訂戶。

The current crisis has impacted many aspects of the entertainment industry, including some of Netflix’s, like its production house. However, Netflix has largely benefited as it doesn’t stream sports events, doesn’t have advertisement on the platform, doesn’t need movie theaters. Well, mostly.

當前的危機已影響到娛樂業的許多方面,包括Netflix的某些方面,例如其制作公司。 但是,Netflix受益匪淺,因為它不播放體育賽事,在平臺上沒有廣告,不需要電影院。 好吧,主要是。

To prepare for job interviews, I recently started teaching myself about system design and architecture. While doing so I got a chance to learn the fascinating design model of Netflix. Its architecture is so intriguing that I believe it would fascinate the people outside the tech community as well. This article attempts at describing some of Netflix’s most riveting pieces of working in layman terms. I think even fairly experienced techies might get something out of it, especially if cloud architecture and system design is your discipline.

為了準備工作面試,我最近開始自學系統設計和體系結構。 在這樣做的同時,我有機會學習了Netflix的迷人設計模型。 它的架構非常吸引人,我相信它也會吸引技術界以外的人們。 本文試圖以非專業人士的方式描述Netflix最吸引人的作品。 我認為,即使是經驗豐富的技術人員也可以從中受益匪淺,尤其是如果云架構和系統設計是您的專業。

I have consolidated this article from various sources and tried my best to collect the updated and correct information. As quoted by Todd Hoff , “Facts on the ground change over time and depend on who is telling the story and what audience they’re addressing ”. So, if you find any mistakes or inaccuracies, kindly bring them to my notice.

我已經從各種來源整理了這篇文章,并盡力收集了更新的正確信息。 正如托德·霍夫(Todd Hoff)所引用的那樣,“事實隨著時間的流逝而變化,取決于誰在講故事以及他們要針對的受眾是誰”。 因此,如果您發現任何錯誤或不正確之處,請及時通知我。

Before getting into the nuts and bolts of the architecture, let’s look at some of the most interesting user experience enhancements which Netflix has integrated into its system.

在深入了解該體系結構之前,讓我們看一下Netflix已集成到其系統中的一些最有趣的用戶體驗增強功能。

推薦系統 (The Recommendation System)

Netflix Recommendation Algorithm has been quite popular with the people studying data analytics. Netflix has a humongous collection of user data and is still collecting more with every new user and user activity.

Netflix推薦算法在研究數據分析的人們中非常受歡迎。 Netflix擁有龐大的用戶數據收集,并且在每個新用戶和用戶活動中仍在收集更多數據。

Image for post
blog.re-work.co)blog.re-work.co )

It accounts numerous metrics from this dataset to build the algorithm, some of which are:

它考慮了來自該數據集的大量指標以構建算法,其中一些指標是:

  • Your viewing history and ratings are the ones you must have guessed already. Netflix can make great suggestions based on the type of movies you watch and how you rate the movies you have watched. You must have noticed Netflix doesn’t use IMDb ratings (or any other world average rating) to suggest you any movies. Instead it believes that each user is different and would not necessarily agree with the world’s average opinion about the show. Hence it focuses on an individual’s watch history with other factors and finds a pattern about each user’s choice.

    您的觀看歷史和收視率是您必須已經猜到的。 Netflix可以根據您觀看的電影類型以及您對已觀看電影的評分方式提出出色的建議。 您一定已經注意到Netflix沒有使用IMDb分級(或任何其他世界平均分級)來向您推薦任何電影。 相反,它認為每個用戶都是不同的,不一定會同意世界各地對該節目的平均看法。 因此,它著重于個人的觀看歷史以及其他因素,并找到有關每個用戶選擇的模式。

  • Other viewers with similar tastes and choices. This algorithm is known as Collaborative Filtering (CF). It is based on the idea that if two clients have similar rating history they will behave similarly in the future. For example, if one of the two similar users rates a movie with a great score, it is more likely that the other user would like it as well and hence Netflix will recommend it to the other.

    其他具有相似品味和選擇的觀眾。 該算法被稱為協作過濾(CF) 。 基于這樣的想法,即如果兩個客戶具有相似的評級歷史,則他們將來的行為將相似。 例如,如果兩個相似的用戶之一為電影評分很高,那么另一個用戶也很可能會喜歡它,因此Netflix會推薦給另一個人。

  • Titles, genres, actors, release year etc. This configures the Content Based Filtering (CB) algorithm. This algorithm recommends movies based on the kind you have liked before. The main difference from CF is that CB offers recommendations based not only on similarity by rating but is more about the information from the products. For example, recommending movies by the same actor you liked before. These factors with user profiling help in learning user preferences.

    標題,體裁,演員,發行年份等。這將配置基于內容的過濾(CB)算法。 此算法根據您之前喜歡的電影類型推薦電影。 與CF的主要區別在于,CB不僅基于評級的相似性提供建議,而且還提供有關產品信息的更多信息。 例如,由您之前喜歡的同一位演員推薦電影。 用戶配置文件中的這些因素有助于學習用戶的偏好。

  • User profiling includes information like the time of the day when you watch, the device you watch it on, the duration you watch for etc. For example, if you show a pattern of not sitting at lengths, Netflix will try to find short movies or shows with small episode run-times for you.

    用戶配置文件包括諸如觀看時間,觀看設備,觀看持續時間等信息。例如,如果顯示出坐著不動的樣子,Netflix將嘗試查找短片或會以較小的劇集運行時間顯示給您。

個性化藝術品 (Personalized Artworks)

Data analytics doesn’t just stop at the recommendation system. Netflix is highly data-driven and uses its analytics to appeal you to watch more. If you have ever logged in through different accounts, you may have noticed that Netflix doesn’t use the same header images for a show, for all the users.

數據分析不僅止于推薦系統。 Netflix是高度數據驅動的,并利用其分析吸引您觀看更多內容。 如果您曾經通過不同的帳戶登錄過,您可能會注意到,對于所有用戶,Netflix的節目都不使用相同的標題圖像。

Image for post
highscalability.squarespace.com)highscalability.squarespace.com )

For example, here are different header images for Stranger Things. Each of us would see a different artwork decided by Netflix. Netflix considers various factors to choose the image that would best entice you to watch the show. It will also account for something basic like the number of clicks a certain image receives. The image with most clicks or popularity, then makes as one of the factors in the algorithm.

例如,這是陌生人事物的不同標題圖像。 我們每個人都會看到Netflix決定的不同作品。 Netflix考慮各種因素來選擇最能吸引您觀看節目的圖像。 它還將說明一些基本信息,例如某張圖片獲得的點擊次數。 點擊次數或人氣最高的圖像成為算法中的因素之一。

Image for post
highscalability.squarespace.com)highscalability.squarespace.com )

Have a look at another example for the artwork of the movie, Good Will Hunting. Based on your preferences and viewing history, if Netflix predicts that you like comedies it will show you the image of Robin Williams for this movie. If you like romantic movies, Netflix will show you the image of Matt Damon and Minnie Driver, to tell you it has elements of romance as well.

看電影的另一個例子,Good Will Hunting。 根據您的喜好和觀看歷史記錄,如果Netflix預測您喜歡喜劇,它將為您顯示這部電影的Robin Williams形象。 如果您喜歡浪漫電影,則Netflix會向您顯示Matt Damon和Minnie Driver的圖像,以告訴您它也具有浪漫元素。

As you can see how important it is to select the right header image, as it sends a strong personal message of what the movie is about and would allure the user to watch it.

正如您所看到的,選擇正確的標題圖像非常重要,因為它會發送強烈的關于電影內容的個人信息,并會誘使用戶觀看電影。

Netflix高級架構 (Netflix High-Level Architecture)

The architecture can be divided into 3 major components:

該體系結構可分為3個主要組件:

  1. Client

    客戶
  2. Back-end

    后端
  3. Content Delivery Network (CDN) / Open Connect (OC)

    內容交付網絡(CDN)/開放連接(OC)

Client: Client is any Netflix application on the end user’s device. It could be a web browser on your laptop, an app on your phone, smart TV or gaming console. It is the interface which helps you browse and watch your favorite shows on Netflix.

客戶端:客戶端是最終用戶設備上的任何Netflix應用程序。 它可能是筆記本電腦上的網絡瀏覽器,手機上的應用程序,智能電視或游戲機。 它是幫助您瀏覽和觀看Netflix上喜歡的節目的界面。

Back-end: This is the section where everything happens before you hit play, on-boarding new content, processing videos, distributing them on servers located in different parts of the world and managing the network traffic.

后端:這是在您播放游戲,加載新內??容,處理視頻,將它們分發到位于世界各地的服務器上以及管理網絡流量之前發生的所有事情的部分。

Almost all of these processes take place on Amazon Web Services (AWS). Netflix moved to AWS in a quest for a reliable infrastructure. AWS offers highly reliable databases, storage and redundant datacenters. This move to cloud services (AWS) came from the 3 days of downtime Netflix faced, in August 2008 due to corruption in their datacenters. Those datacenters were big, unreliable monliths and with the given growth at Netflix it needed much reliable and scalable microservices architecture . AWS along with addressing all these issues surprisingly turned out to be cheaper as well. As cloud came with elasticity, Netflix was required to pay only as per their use. While the datacenters Netflix had built were to be managed all the time and added costs even when most of them were not in use. And currently, Netflix runs on several thousands of AWS EC2 instances.

幾乎所有這些過程都在Amazon Web Services(AWS)上進行。 Netflix轉向AWS以尋求可靠的基礎架構。 AWS提供了高度可靠的數據庫,存儲和冗余數據中心。 遷移到云服務(AWS)的原因是,由于數據中心損壞,Netflix在2008年8月面臨三天的停機時間。 這些數據中心是巨大的,不可靠的整體,并且隨著Netflix的發展,它需要非常可靠且可擴展的微服務架構。 令人驚訝的是,AWS以及解決所有這些問題的成本也降低了。 由于云具有彈性,因此Netflix只需要按照使用情況付費。 盡管Netflix建造的數據中心將始終受到管理,并且即使其中的大多數未使用,也會增加成本。 目前,Netflix可在數千個AWS EC2實例上運行。

CDN / OC: OC is Netflix’s own custom global CDN. To understand what OC is, let’s first take a quick look at CDNs.

CDN / OC: OC是Netflix自己的自定義全局CDN。 要了解什么是OC,首先讓我們快速看一下CDN。

內容分發網絡/內容分發網絡(CDN) (Content Delivery Network / Content Distribution Network (CDN))

CDN as defined by Wikipedia is a geographical distribution of proxy servers and data centers. The goal of CDN is to make the website faster. To be specific, it provides quick access to the internet content like videos, images, HTML pages etc. to help it load on the website faster.

維基百科定義的CDN是代理服務器和數據中心的地理分布。 CDN的目標是使網站更快。 具體而言,它提供對視頻,圖像,HTML頁面等互聯網內容的快速訪問,以幫助其更快地加載到網站上。

Before studying how it accomplishes the speed, let’s look at the challenge addressed by CDN. Imagine a situation where there are users around the world but a single server in NYC. If a user in Sydney makes a request to access a website hosted in NYC, it would be a 10,000 miles hike upwards to the server and 10,000 miles back to Sydney with the response and this round trip would take around 200 ms, while for a user making the same request from Dallas, it would be about 40 ms. As can be seen, the further one is from the server, the longer it will take for the content to load, in turn slowing down the website.

在研究它如何實現速度之前,讓我們看一下CDN所解決的挑戰。 想象一下這樣一種情況:在世界各地有用戶,但在紐約只有一臺服務器。 如果悉尼的用戶請求訪問位于紐約市的網站,則響應將向上爬升10,000英里,服務器將返回10,000英里,返回悉尼將返回10,000英里,而這種往返行程將花費大約200毫秒,而對于用戶從達拉斯發出相同的請求大約需要40毫秒。 可以看出,離服務器越遠,內容加載所需的時間就越長,從而降低了網站的速度。

This is where CDN comes into play, it places server endpoints across the globe thus enabling users to retrieve content from their closest geographical location, drastically reducing the amount of time. Hence resulting in high availability and performance by distributing services spatially to end users.

這就是CDN發揮作用的地方,它在全球范圍內放置了服務器端點,從而使用戶能夠從其最近的地理位置檢索內容,從而大大減少了時間。 因此,通過在空間上將服務分配給最終用戶,可以實現高可用性和高性能。

To summarize this with other benefits provided by CDN, it provides:

總結一下CDN提供的其他好處,它提供:

  1. High Availability and Performance (Speed).

    高可用性和性能(速度)。
  2. Reduction in load on servers, as requests are now distributed.

    減少服務器負載,因為現在分發了請求。
  3. Increase in security through obscurity, as CDN adds an extra layer in between.

    由于CDN在兩者之間添加了額外的層,因此通過模糊性提高了安全性。

You must have guessed it by now, Netflix uses CDN to distribute its video content to serve its customers across the globe. We’ll see later, how OC is different from CDN and why Netflix needed it. Let’s talk about the first step in the Netflix’s model before getting into any other details which is, uploading a new movie on Netflix.

您現在一定已經猜到了,Netflix使用CDN分發其視頻內容來為全球客戶提供服務。 稍后我們將了解OC與CDN有何不同以及Netflix為什么需要它。 讓我們先談談Netflix模型的第一步,然后再探討其他細節,即在Netflix上載新電影。

登上新內容 (On boarding new Content)

Netflix receives new videos from the production houses and studios. These are high quality videos, which need to be processed before serving them to the viewers.

Netflix從制片廠和制片廠接收新視頻。 這些是高質量的視頻,在將它們提供給觀眾之前需要對其進行處理。

Netflix currently supports about 2200 devices including Android, iPhone, Apple TV, Kindle Fire, Playstation etc. and each of them requires a different video and audio format. With the help of hundreds of thousands of AWS servers Netflix converts the original video into a large number of different formats and resolutions to support different screen sizes and devices. This process is known as Transcoding. Netflix breaks the video into a number of chunks and AWS servers work in parallel to convert these chunks into different formats like mp4, 3gp etc. across different resolutions like 4k, 1080p and more. All these processed video copies are then stored on Amazon S3.

Netflix當前支持大約2200臺設備,包括Android,iPhone,Apple TV,Kindle Fire,Playstation等,它們中的每一種都需要不同的視頻和音頻格式。 Netflix在成千上萬的AWS服務器的幫助下,將原始視頻轉換為多種不同的格式和分辨率,以支持不同的屏幕尺寸和設備。 此過程稱為代碼轉換 。 Netflix將視頻分為多個塊,AWS服務器并行工作,以將這些塊轉換為4k,1080p等不同分辨率的不同格式(例如mp4、3gp等)。 然后,所有這些已處理的視頻副本都存儲在Amazon S3中。

When a user requests to watch a video, Netflix analyzes the network quality and stability of the internet connection the user is on and then based on the device type and screen size provides with the right video format to stream. Have you ever noticed when watching a video it initially looks pixelated and snaps back to HD after a while? Netflix clients constantly keep a check on the health of the network and switch between formats when needed.

當用戶請求觀看視頻時,Netflix會分析用戶所在的網絡質量和互聯網連接的穩定性,然后根據設備類型和屏幕尺寸提供正確的視頻格式進行流式傳輸。 您是否曾經在觀看視頻時注意到它最初看起來像是像素化并在一段時間后恢復為高清狀態? Netflix客戶端會不斷檢查網絡的運行狀況,并在需要時在格式之間進行切換。

系統架構與設計 (System Architecture and Design)

  • Netflix is built on an architectural style that structures the application as a collection of services. This is known as microservices architecture. Microservices architecture’s core principle lies in decoupling all the services, which means that all services are designed to be independent of each other, for example, the video storage service would be decoupled from the service responsible for transcoding videos.

    Netflix建立在一種架構風格上,該架構將應用程序構造為服務的集合。 這稱為微服務架構。 微服務體系結構的核心原理在于將所有服務分離,這意味著所有服務都設計為彼此獨立,例如,視頻存儲服務將與負責視頻轉碼的服務分離。
Image for post
Monolithic Vs Microservices Architecture
整體式與微服務架構
  • This architecture is highly designed around business logic and allows flexibility in addressing individual needs of services. If you learn that the system is facing a bottleneck in storing videos, you can efficiently plan to scale up or optimize the storage logic without changing the resources configuration for other services. As opposed to this, in a Monolithic architecture, where all the components are interconnected, you would need to scale the whole system just to address the need of one service. This would significantly hike up the cost and hit the growth cap soon.

    該體系結構圍繞業務邏輯進行了高度設計,并允許靈活地滿足服務的個性化需求。 如果您了解系統在存儲視頻方面面臨瓶頸,則可以有效地計劃擴展或優化存儲邏輯,而無需更改其他服務的資源配置。 與此相反,在所有組件都互連的整體式體系結構中,您將需要擴展整個系統,以解決一項服務的需求。 這將大大增加成本并很快達到增長上限。
  • Netflix, built on the microservices architecture and the distributed system of AWS, achieves reliable and scalable computing and storage with the help of AWS EC2 and S3. Cassandra and DynamoDb are the distributed databases used to store data like user profiles, billing information and other information like the movies that you have watched, which is then used in building the recommendations algorithm.

    Netflix建立在微服務架構和AWS的分布式系統之上,借助AWS EC2和S3實現了可靠且可擴展的計算和存儲。 Cassandra和DynamoDb是分布式數據庫,用于存儲諸如用戶個人資料,賬單信息以及其他信息(如您所觀看的電影)之類的數據,然后用于構建推薦算法。

需要自定義CDN,開放連接 (Need for Custom CDN, Open Connect)

Now you know that the idea of CDN is to put servers as close to the users as possible and optimize the network for speed and reliability. Why do you think Netlfix needed to build it’s own CDN?

現在您知道CDN的想法是使服務器盡可能靠近用戶,并優化網絡的速度和可靠性。 您為什么認為Netlfix需要構建自己的CDN?

Netflix started off by using third-party CDNs which was the right option at that time. By not building it’s own CDN Netflix focused on other aspects of the system like developing algorithms for recommendation system, streaming high-quality videos and enhancing user experience.

Netflix開始使用第三方CDN,這在當時是正確的選擇。 通過不構建自己的CDN,Netflix專注于系統的其他方面,例如為推薦系統開發算法,流式傳輸高質量視頻和增強用戶體驗。

Third party CDNs provided support to all types of content but Netflix was primarily concerned by just one, videos. Netflix at its scale, soon realized that by having a custom CDN with exclusive support for just large video streaming, it could create a high-performance network, notably enriching the user experience. And in 2011, Netflix created the same, Open Connect. The advantages offered by Open Connect were:

第三方CDN為所有類型的內容提供了支持,但Netflix主要只關注一種視頻。 Netflix很快就意識到,通過擁有一個僅支持大型視頻流的定制CDN,它可以創建一個高性能網絡,從而顯著豐富用戶體驗。 并在2011年,Netflix創建了相同的Open Connect。 Open Connect提供的優勢是:

  1. Less Expensive- Compared to third-party, in house CDN was a cheaper option for Netflix.

    更便宜 -相比于第三方,在內部CDN是Netflix的一個便宜的選擇。

  2. Better Quality- Netflix now had end to end control from transcoding to client application, thus achieving better quality.

    更高的質量 -Netflix現在具有從轉碼到客戶端應用程序的端到端控制,從而實現了更高的質量。

  3. More Scalable- With more control over the network, Netflix was closer to its goal of reaching everywhere in the world.

    更具可擴展性 -通過對網絡的更多控制,Netflix更加接近其遍及全球的目標。

開放式連接設備 (Open Connect Appliances)

OCA is a fast server assembled from lots of hard disks and flash drives for storing videos. Hardware wise, there is nothing special about OCA, they’re based on commodity PC components and assembled in custom cases by various suppliers. You could buy the same computers if you want to.

OCA是由許多硬盤和閃存驅動器組裝而成的快速服務器,用于存儲視頻。 在硬件方面,OCA沒什么特別的,它們基于商用PC組件,并由各種供應商定制組裝。 如果需要,您可以購買相同的計算機。

Image for post
Open Connect Appliance
開放式連接設備

Netflix places these boxes with the datacenters of Internet Service Providers (ISPs) all over the world. ISPs are your internet provider. It’s who you get your internet service from, like Verizon, Hathway, Airtel etc.

Netflix將這些盒子放置在世界各地的Internet服務提供商(ISP)的數據中心中。 ISP是您的互聯網提供商。 是誰可以從Verizon,Hathway,Airtel等獲得互聯網服務的人。

ISPs are located all around the world close to their customers, which was the exact strategy Netflix was building its solution around. By using ISP datacenters to place OCAs with relevant videos, Netflix gets all the benefits of a datacenter but doesn’t need to manage it.

互聯網服務提供商(ISP)遍布全球,與客戶接近,這正是Netflix圍繞其構建解決方案的確切策略。 通過使用ISP數據中心將OCA與相關視頻放置在一起,Netflix獲得了數據中心的所有優勢,但無需對其進行管理。

But if you remember all the processed movies are stored in Amazon S3. How does Netflix get it to OCAs? It is achieved by the process called Proactive Caching. Netflix is known to have highly accurate predictive system. It already knows what the viewers in different locations would like to watch next and when they would like to watch it as well. The predicted videos are copied to OCAs at respective locations and by having movies readily available to stream even before viewer has asked for it, Netflix ensures a great viewing experience.

但是,如果您還記得所有處理過的電影,它們都存儲在Amazon S3中。 Netflix如何將其用于OCA? 它是通過稱為“ 主動緩存”的過程來實現的。 眾所周知,Netflix具有高度準確的預測系統。 它已經知道不同位置的觀眾接下來想看什么,以及他們什么時候也想看。 Netflix將預測的視頻復制到各個位置的OCA,并且即使在觀眾要求之前也可以隨時播放電影,從而確保了出色的觀看體驗。

Image for post
OCAs at ISP Datacenter
ISP數據中心的OCA

放在一起: (Putting All The Pieces Together :)

  • The original high quality copy of the movie received from production houses is first uploaded to AWS S3.

    從制作室收到的電影的原始高質量副本首先被上傳到AWS S3。
  • It is then broken down into chunks to transcode. After all the processing, multiple copies of the movie in are stored in S3, in different formats and resolutions to support across various devices and networks.

    然后將其分解為大塊進行轉碼。 完成所有處理后,將電影的多個副本以不同的格式和分辨率存儲在S3中,以支持各種設備和網絡。
  • Next, the locations where people would prefer to watch this movie are predicted. These copies are then duplicated on OCAs closest to the predicted locations in advance, ready to serve the viewers when requested.

    接下來,預測人們希望看這部電影的位置。 然后,這些副本會預先復制到最接近預測位置的OCA上,隨時可以根據要求提供給觀眾。
  • When you request to play the movie, the app on your device fetches URLs for up to 10 different OCAs. The quality of network for these OCAs is then tested by the clients and the fastest and most reliable connection is selected.

    當您請求播放電影時,設備上的應用會獲取最多10個不同OCA的URL。 然后,由客戶端測試這些OCA的網絡質量,并選擇最快和最可靠的連接。
  • Client constantly keeps on checking the connection and switches to the most stable and high-quality connection possible whenever needed, trying all the while to deliver a smooth viewing experience.

    客戶會不斷檢查連接,并在需要時切換到最穩定和高質量的連接,并一直嘗試提供流暢的觀看體驗。

Pretty amazing, isn’t it?

太神奇了,不是嗎?

Image for post
  • https://www.statista.com/statistics/250934/quarterly-number-of-netflix-streaming-subscribers-worldwide/

    https://www.statista.com/statistics/250934/quarterly-number-of-netflix-streaming-subscribers-worldwide/

  • https://www.nytimes.com/2020/04/21/business/media/netflix-q1-2020-earnings-nflx.html

    https://www.nytimes.com/2020/04/21/business/media/netflix-q1-2020-earnings-nflx.html

  • https://youtu.be/Bsq5cKkS33I

    https://youtu.be/Bsq5cKkS33I

  • https://youtu.be/x9Hrn0oNmJM

    https://youtu.be/x9Hrn0oNmJM

  • http://highscalability.squarespace.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html

    http://highscalability.squarespace.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html

  • https://medium.com/@narengowda/netflix-system-design-dbec30fede8d

    https://medium.com/@narengowda/netflix-system-design-dbec30fede8d

  • https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b

    https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b

翻譯自: https://uxdesign.cc/netflix-system-design-ef5802426ad4

netflix 工作原理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275109.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275109.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275109.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

B/S開發中瀏覽器的工具利器

B/S系統的前端瀏覽器性能和標準兼容方面是開發中的一個重要問題,把IE中使用的各種工具整理一下,對于開發中標準、規范檢查等起到一個作用 主要是三個主流的瀏覽器和相關的插件 FireFox Firefox-latest.exe firebug-1.7.3-fx.xpi yslow-3.0.3-fx.xpi 安裝…

你需要的git命令大全來了

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。雖然你可能用圖形化工具…

uitest_您在Swift中的第一個UITest

uitest測試中 (TESTING) 什么是自動UITest? (What Is Automated UITest?) When we speak about testing, we usually think about unit testing. However, there is another kind of test that is extremely powerful and useful in the app world: UITests.當談到…

UltraGrid中實現下拉Grid(UltraDropDown)

昨天提到了如何在Grid的Cell中下拉列表框,今天將演示如何在Grid的Cell中實現下拉Grid,這也是UltraGrid提供的一個很好的特性。 1. 拖放一個Grid到Form中,添加一些Band Column,然后設置Team欄位為DropDown或DropDownLis…

Vue團隊核心成員開發的39行小工具 install-pkg 安裝包,值得一學!

1. 前言大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。本文倉庫 https:…

人臉識別及對比_沒有“色彩對比可及性的神話”

人臉識別及對比重點 (Top highlight)When you need to work on interfaces, color contrast is a real thing you have to take into account to make it accessible. You have the right to be afraid of losing part of the aesthetics of your beautifully well-designed in…

Entity Framework4.0 (一)概述(EF4 的Database First方法)

Entity Framework4.0(以后簡稱:EF4),是Microsoft的一款ORM(Object-Relation-Mapping)框架。同其它ORM(如,NHibernate,Hibernate)一樣,一是為了使開發人員以操作對象的方式去操作關系…

mysql 相關子查詢使用【主表得數據需要擴展(統計數據依賴與其他表,但是與主表有關聯)】...

2019獨角獸企業重金招聘Python工程師標準>>> SELECT t.building,t.unit,t.room,t.ashcan ,(SELECT COUNT(a.resident_id) from t_address_book a where a.village_id t.village_id AND a.building t.building and a.room t.unit and a.house t.room and…

竟然被尤雨溪點贊了:我給Vue生態貢獻代碼的這一年

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。這篇文章在知乎被尤雨溪…

java版電子商務spring cloud分布式微服務b2b2c社交電商(四)SpringBoot 整合JPA

b2b2c電子商務社交平臺源碼請加企鵝求求:一零三八七七四六二六。JPA全稱Java Persistence API.JPA通過JDK 5.0注解或XML描述對象-關系表的映射關系,并將運行期的實體對象持久化到數據庫中。JPA 的目標之一是制定一個可以由很多供應商實現的AP…

60款很酷的 jQuery 幻燈片演示和下載

jQuery 是一個非常優秀的 JavaScript 框架,使用簡單靈活,同時還有許多成熟的插件可供選擇,它可以幫助你在項目中加入漂亮的效果,其中之一就是幻燈片,一種在有限的網頁空間內展示系列項目時非常好的方法。今天這篇文章要…

流體式布局與響應式布局_將固定像素設計轉換為流體比例布局

流體式布局與響應式布局Responsive web design has been a prime necessity for every enterprise ever since Google announced that responsive, mobile-friendly websites will see a hike in their search engine rank in 2015.自Google宣布響應式,移動友好型網…

怎樣開發一個 Node.js 命令行工具包

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。源碼共讀活動很多都是讀…

redis完全攻略

安裝篇 聲明:以下環境均是在ubuntu下進行 wget http://redis.googlecode.com/files/redis-2.4.4.tar.gztar zxf redis-2.4.4.tar.gz 然后進入目錄后直接make就可以了、如果邇的系統是32位的那么執行 make 32bit 安裝完成后、執行一下make test看是否正常、如果出現“…

印刷報價系統源碼_皇家印刷術-設計系統案例研究

印刷報價系統源碼重點 (Top highlight)Typography. It’s complicated. With Product Design, it’s on every screen. Decisions for a type scale affect literally every aspect of a product. When you’re working with an existing product, defining typography can fee…

Python簡單試題3

1,水仙花數 水仙花數是指一個 3 位數,它的每個位上的數字的 3次冪之和等于它本身 (例如:1^3 5^3 3^3 153) 代碼如下: 方法一: for i in range(100,1000): # 進行for循環num ia num % 10 # …

React Hooks 完全使用指南

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。React HooksHook 是什么…

重新設計Videoland的登錄頁面— UX案例研究

In late October of 2019 me and our CRO lead Lucas, set up a project at Videoland to redesign our main landing page for prospect customers (if they already have a subscription, they will go to the actual streaming product).在2019年10月下旬,我和我…

【常見Web應用安全問題】---5、File Inclusion

Web應用程序的安全性問題依其存在的形勢劃分,種類繁多,這里不準備介紹所有的,只介紹常見的一些。 常見Web應用安全問題安全性問題的列表:   1、跨站腳本攻擊(CSS or XSS, Cross Site Scripting)   2、S…

全新的 Vue3 狀態管理工具:Pinia

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。Vue3 發布已經有一段時間…