NETFLIX System design | software architecture for netflix

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone my name is Lorraine and in this session let's talk about system design for Netflix Netflix with about more than 125 million subscribers and its presence in more than 200 plus countries is a company which handles large category of movies and television content we users paid monthly rent to access this content and what that means to Netflix is that the user experience should be very smooth and enjoyable Netflix operates in two clouds first one-eighth of this and open connect both clouds must work together seamlessly to deliver endless hours of video for you to please Netflix has three main components let's discuss them right now so the first one is open connect the second one is backend and the term is client ok let's first talk about some high-level working of Netflix and then jump right into all these three components in depth without the knowledge of high-level working if I go and explain the components of system design in for the Netflix it will be pretty hard for you to understand so I'm going to explain a high-level overview of Netflix first let's understand what is a client at why it is any device from which you play the video on FX it could be your desktop it could be Android or it could be iPhone it could be your Xbox or anything like that okay the second thing is anything that doesn't involve in video streaming is all handled in AWS cloud that I already explained anything which involve streaming the video is completely handled by open connection now the question is what is open kind open connect is Netflix owned Sirian in simple words Sirian is contingent very network which is a network of distributive servers which are placed in different locations or different countries or different place to serve the content much faster say for example you are in India and you have a website which hosts video in it what if the user is requesting for a video which is hosted in your website from united states that means the packets or the video should be traveling from the server in India to us all the way through under C cables which is used for serving the internet right so that way two problems are there is a latency the packet should come from India to us and also the bandwidth is consumed just for that video now how do we solve this problem to solve this problem what we need to do is let's have more servers placed in different countries say for example the main server which is an India is called as origin or original server and will have different cache servers which holds all the video copies in different countries as shown in this image so there are five different edge servers which are placed in North America South America and one in Russia and one in Europe and one somewhere in Indonesia right if a user is requesting for the video which is in your website from United States the video will be served from the nearest server that's the server the edge server which is in United States that way the content will be delivered much faster and less bandwidth consumed between the India and the United States now that you understand what series open connect is Netflix oncidium what Netflix has done is they have placed a lot of servers in every countries like thousands of servers in each and every countries so that if the user is requesting of video the video will be played from the very nearest server which is placed to that particular user without wasting much of our time it's the time to see the system design for Netflix and here it is as I've told you earlier accept the open connect rest all of the components are situated in AWS cloud just open connect is the network of distributed servers that is maintained by Netflix now let's talk about individual components in the system design the first one is client network supports a lot of different devices including smart TV Android iOS larkin platforms big gaming consoles and Bhabha all these apps are written using platform-specific code Netflix V Bob is written using react Jas and react.js was influenced by number of factors like the first one is startup speed the second one is a runtime performance of react.js and the third one is modularity let's talk about elastic load balancers Netflix uses Amazon's elastic load balancing service to route the traffic to different front-end services and these are instances which is actual response these are the instances or servers elastic load balance are set up such a way that the Lord is balanced across the zones first and then the load is balanced across the instances and this scheme is called as too tired balancing scheme so the first tier that is this part consists of basic dns-based round-robin load balancing so the request when it lands on this load balancing will first balance across these zones using round-robin what are stones or are kind of logical grouping of servers there could be three different zones in United States itself and one Zone in India it's it's very logical way of grouping servers together and the second tier of elastic load balanced service is an array of load balancers instances which does round dropping load balancing on the instances to distribute the requests on across these instances say for example then the request comes in the first year and distributes the load on different zones say the request landed here and next year will distribute to between these two instances now let's talk about how Netflix on boards of video before a video art movies made available to the user what Netflix does is it does do a lot pre-processing and this pre-processing involves finding errors converting the video into different resolution different format this process is called as transcoding or encoding what is transferring transcoding is a process that converts a video into different format and and this will be optimized for a particular kind of device as you already know that Netflix supports many different kind of devices or platform so we have to convert the video into different resolution to make the viewing experience much better so you might ask the question why don't we just play the video as it is how we get from the production house the problem is the original movie which we get say for example is the movie it will be off about many terabytes sometimes and sometimes it will be off about 50 GB and say a video off about one and a half hour movie will be like 50 GB and this will be pretty hard for Netflix to stream such a big file to every customer it could be a space constraint it could be bandwidth and everything right if you're using iPhone the resolution should be a lot smaller if you're using a web app the resolution should be much bigger right so four different devices you need to convert the video source video into different resolutions Netflix also creates file optimized for different network speed say for example you are watching a movie on you know slow Network then you might see a movie which is played in very less resolution if you're watching the same movie on high-speed network the movie might be in 4k resolution or 1080p resolution or sometimes when the bandwidth is less the the movie suddenly changes the resolution you might have observed like grainy kind of resolution to sometimes suddenly a high-definition resolution and this kind of switching is called as adaptive bitrate streaming to do that what Netflix has to do is it has to create multiple copies of the same movie in different resolutions approximately Netflix creates about thousand two hundred different copies for a single movie just to do that and that's a lot of files to be processed then how Netflix does that what Netflix does is it uses a lot of different paths and workers to do that so when they want to onboard a particular movie they get the movie as a single file which is about say 50 GB and then what they do is they break that moving to a lot of different pieces or chunks you can say and put it all into the queue and then these tasks these individual tasks which to be processed for each clip will be placed in the queue and then these tasks will be picked up by the different workers and they all process different chunks together and then they merge all this video or they place the different clips approach the clips into Amazon s3 now that our Amazon ec2 workers have converted the source movie to different copies of the movie of different resin and different format we have about 1200 copies of different files for the same movie now it's time to push all of these movies into open connected distributed servers which are placed in different locations across the world that means all these different copies will be pushed to each and every servers in the open connect Network so what happens next when user Lords the next Netflix app on his mobile phone or smart TV or on valve what happens is all the requests like login recommendation homepage search billing customer support all these kind of different requests are handled by AWS the instances which are in AWS cloud and the moment you found find the video which you want to watch and hit the play button on the player what happens is the application will figure out the best open connect server and the open connect server will start streaming the video to the world client over here and also the clients are so intelligent that even though when the open connect server is streaming the video these applications will be constantly checking for the best open connect server which is available near to that particular application and switches dynamically based on the quality of the bandwidth to that server and load to the open connect server and this is how the Netflix application gives the best viewing experience to the user without any obstruction or interruption while you you are watching the video and with the information like whatever you searched whatever you typed and your video viewing pattern all this information will be saved in data centers in and Netflix does create machine learning models using that data to understand the user better and to play the recommendation engine now let's learn about the next component called Zulu and Zulu is a gateway service that provides dynamic routing monitoring resiliency and security and this of the whole service can also be used to do the connection management and proxying the requests ok so the the main component over here is the native server based proxy and this is where the requests will hit first and then this will be proxy in the request to the involved filters over here the import filter run before proxying the requests and can be used for authentication routing or decorating the requests and the request goes next to the endpoint filter the endpoint filters can be used to return the static response or to forward the request to back-end services once the backend service response since the response back the a point of filter will transfer that response to the outbound critters and the outbound filters run after the after similar response can be used for Jesus being the content or to calculate the metrics or to even add or remove the headers from the response and once the response is written back to the native server and it will send back the response to the client and now what are the advantages of having the gateway service like this see the advantages are many more first thing is you can share the traffic say for example you can have a rule somewhere here that send this of traffic towards these servers and send some traffic to these kind of servers of say different versions for example you can share the traffic from having the rules set in a point filter and also you can do some kind of load testing say you have a new kind of server which is deployed in certain setups of machine and you want to do a load testing on it in that case also you can redirect a part of traffic to that particular set of services and then see that what is the load that particular service our server can take the third one is you can test new services as when you upgrade the services maybe you want to test how it behaves with the real-time API requests right instead of replace it deploying it in deploying the new service on all of the servers what you can do is you can deploy that particular new service or upgraded service on to one server and then you can relate some parts of traffic some percentage of traffic to that new service and then test that service in real time and also you can filter the bad requests you can have custom rules second endpoint to filter the responses based on certain conditions say a user agent of a specific kind filter all the requests you can either have it in a marketer or you can have it in the piebald also now let's see what is Pistols mistress is latency and fault tolerant library design to isolate the points of access to the remote system services and third-party libraries what that means is say for example you have a end point a from which there in question response is delivered so this end point so in micro-service architecture this end point might be requesting a lot of different other micro services which are in different systems altogether say for example this is in a server one server and this could be totally different server or this could be a another hi party service called and this would be an another machine this too could mean different machine just because this much this particular call is slow your whole endpoint might suffer a lot of latency the the time to deliver the response might take more time or say for example this service is down and that's the reason why the errors will cascade so this request success and when this endpoint makes the request to self microservice to and micro service to internal is making requests of micro cells see this if this is causing some error this error will cascade back to the endpoint and this response could go error mitral response response with error so these kind of problems we can control using histories which helps in stop cascading failures and also true rare technology and what are the applications of histories so here I have listed out three obligations are few advantages of using histories when you're configuring your castrates mystic will be taking care of each and every micro services what that means is your type decorating the each and every micro services and how it helps is say for example you want to keep your quality of service to this endpoint to 1 second or two seconds at max that means that you should also set timeouts for each and every micro services that means the first advantage is you can either gracefully plea kill the call to that particular micro service if the time taken to respond is greater than the preset time say for example you have set to 0.1 millisecond at max if this particular micro service is taking more than 0.1 millisecond the call to that particular service will be canceled and maybe if you are configured to give the default response it the default response will be given back and the second advantage is the threat pool for a particular microservices full if won't even try to accept the next request and keep waiting for that it'll just straight up and reject the call so that the other microservice hide us there and continue forward or do whatever whatever the mitigation it wants to do or it could fall back to the default response in a similar case the third point is it can do the same thing like not providing the default response are totally taking down the micro service if the error rate is greater than some percentage of errors and the fourth point is fall back to the default response as I've already mentioned this option you can not say for example if this micro service is always causing error you can configure it to give a default response so that still other micro service works gracefully just because of this micro services error and the services are the total endpoint will not fail or will not send their error response back and the fifth one is it will be much useful to collect the metrics to understand how these micro services are performing so histories gathers the data about the latency about the performance and everything and puts it in a dashboard so that you can understand what's the businesses for performing how better Netflix uses micro service architecture to power all of its API needs to applications and perhaps the request calls to any eighth point goes to another service and it keeps on happening say for example the this is an endpoint as I totally explain when the request lands an endpoint a that eight point eight might be calling one more service micro service and after that it could be calling micro service - and then this micro service might be falling to another micro service like this so this strategy works very well for them as these micro services can be distributed across different instances and and they are using some kind of HTTP call sometimes and sometimes they are using a PC card between these micro services like a physical here RPC RPC calls so that way it is much easier to talk to these micro services from a different end points of ease or any other micro services so with so many services micro services in place how do you make the system much unreliable because you have so many micro services any micro service can throw error they might go down how to make it more reliable so the key to that is a few things as I have already explained use hystrix like monitoring service or you separate out the critical API endpoints from having less dependency say for example you have too many points and this endpoint is having lot of dependency related to other micro services but you this you know that this particular endpoint is a lot critical for your web app to load so what you have to do is this particular endpoint separate that as a critical api's or critical endpoints and have less dependency to do for that particular endpoint or you have the dependency to the endpoint which is also much reliable save it have less dependency so you have a dependency only to the micro service 10 and this is also a level and if you see if you compare the endpoint a and B here the dependency for the end point B is a lot lesser and since we know that this is kind of much reliable micro service that way your end point B is always available a highly available always skill and how do you choose like what are the API is or endpoints those are like critical endpoints so critical endpoints are the endpoints say on worst case on something has happened to your system and all the micro services are throwing or irrespective of that your application if you want to make your application what are the API is needed say in case of Netflix page user will visit to netflix.com the basic functionality like at least so it should work and they should navigate to their favorite video favorite videos and then click it and play the video at least forget about the recommendations forget about other things it means that the critical ApS are toast which is like on the event of other ApS or not well but at least users should be able to do the very basic things you have to identify those kind of APs and separate them as critical endpoints and then make sure those are highly available so the next key thing is having all the endpoints stateless say for example your API is talking to some server which is near to you for some reason if that endpoint is throwing back the error that means that you can always switch back to a different server automatically and and get a response that means that the state shouldn't be preserved in a particular servers cache or a local memory or such that so the key to that is always with your endpoints with stateless thing in your mind that always users should be able to get the response properly from any different server available at that given part of the time in any application there will be so many eight points in which data can be cached or the response can be cached this kind of ApS are the very good candidate to relieve the pressure on the actual servers and there are some other endpoints which in which we always need to get the data latest data from the DV and this kind of a case we can't catch it because it could lead to other kind of how Netflix solve this problem is that built their own custom caching layer called as EB cache which is based on memcache T they have deployed a lot of clusters on number of ec2 instances in which there are so many nodes of memcache T and they even have their own cache plain how specifically this disk cache client works is whenever there is a write happens to the cash that is EB cache it writes that particular response to every cluster available or even every nodes available in that particular clusters and when the real happens and the lead will not happen from everywhere it's obviously right it will the leap will happen only from the cluster the nearby cluster and that way the cache is distributed across the network of the server's the network of the caching server and also the read is happening from the very near server and this helps them to reduce a lot of pressure on the actual endpoints the advantages of having caching layer in your system is first one is throughput ok your system's throughput will be a lot higher the second one is latency you can actually reduce the response time compared to the data he is being fetched from the source or the database and the third one is you can save some money that means that you can reduce the cost which is responsible to the deploying more number of APA or endpoint servers Netflix heavy uses the caching layer for all of its API endpoints that way they are already saving a lot of money on ec2 instances and also one more optimization what Networks has done is since the Eevee caches their custom implementation on top of memcache T they are started to use the SSD solid state disk instead of RAM as you know that memcache works on in memory or Ram the the cash particularly is faster just because all the data is saved in in-memory instead of saving it in hardness the time taken to read the data from RAM is a lot faster than the time taken to read the data from hardest but SSE sits in between RAM and hard disk then the time taken to read the data from SSDs a lot faster when you compare to the spinning disk hard disk which we use conventional hardest and it is little higher the time taken to read the data necessities little higher than the van but it is ok when it compared the cost incurred to acquire a lot of RAM to build this cache cluster let's talk about databases next cute Netflix uses two different kind of databases that is my sequel and Cassandra that is our DBMS and no sequel for different kind of purposes that it saves the data like Building Information transaction information and user information in the my sequel as it needs acid compliance on the other data like user viewing history and all the big data is saved into cassandra netflix has a setup like master master set up for my sequel netflix has deployed my sequel on amazon ec2 in large instances using inner DV set up say for example you're writing something to the master and immediately whatever you have written to the master either they get it to the another master node and then only the acknowledgment will be sent further they update all the write queries which we have made to the first master and also Netflix has reader because in each and every for each and every notes that way it handles the scalability and higher ability of the our DBMS since these three verticals are available locally and across data center we can achieve always higher liability as all of the read queries are redirected to the reader because only the write queries are redirected to the master in case of master failure what it's handles is all it does is change the configuration rule 53 that is the DNS configuration to redirect all the right points to the backup node or the second master node as you know Cassandra is open source distributed no sequel humilis which can handle large amount of data on any commodity servers right and Cassandra can also handle heavy right and heavy leads as as Network started to acquire more and more users it started up in late a lot of user history user history in the sense like users search history users viewing patron users interests and everything there was tons of data that even the Cassandra nor started to completely fill up so Netflix redesigned the Cassandra thinking keeping two important goals in their mind first one is smaller storage footprint and the second one is consistent read and write performance if you see the ratio of three verses writes in Netflix it was almost like 90s to one so there is they are needed to make some kind of optimization to the Cassandra somehow they can store too much of data and also give the read and write performance also and now I'm going to explain how they did it to optimize the data storage on Cassandra Netflix engineers did a clever thing what the delay is whenever the data is accumulated too much what they do is they run some scheduled job I need segregates the data into two different sections considered this is the data which is filled in the Cassandra they segregate the data or they separate the data into like living history encompassed living history what that means is life living history is the historical data of the user which is recent say for example this much of data is something very recent and this much of the data is a lot older so keeping the data just like that on Cassandra will just consume the space what they do is these scheduled jobs will compress this particular data this much of old data and put it into the separate Cassandra nodes as compressed viewing data and all the recent data were retained as life-giving history as this much of data is frequently used for any ETL jobs but these jobs this data is important but it is kept as compressed history whenever they wanted that information to be processed they will uncompress it and then use it at that particular time now let's learn how necklace is using cava and Apache chikuwa to ingest the data which is produced from different systems in the Netflix Netflix produces about 500 billion events or which is equal in to 1.3 petabytes of data every day which includes information like video viewing activity of a user or users UI activity or error loss performance events or troubleshoot or debugging events or logs Apache shouldwe is open source data collection system for collecting logs or events from distributed system it is built on top of HDFS and MapReduce river which it which also has Hadoop's of scalability and robustness it also comes with lot of torque it's powerful tool kits for displaying monitoring purpose which also comes with dashboard and how the data flows through chip way all the logs are the events from different parts of the distributed system will be sent to check way in from chip way you can either do monitoring or analysis or you can use the dashboard to view the different events once chuckwei gets this data it can also forward the same events to different source like s3 and Kafka and data and does the same thing chuckwei forwards the data to s3 and also a copy of the data is sent to Kafka and Kafka routing service is responsible for moving data from fronting Kafka to various things like Amazon s3 elasticsearch and other secondary Kafka routing of these messages are done using Apache Samsa framework when chuckwei's sends traffic to Kafka it can deliver full are filtered streams sometimes we need to apply further filtering on Kafka streams written from check way that is why we have the router to consume from one Kafka topic and produced two different Kafka topic and as you knew the events or the laws are flowing through way through Kafka and then ending up in elasticsearch right and let's learn how Netflix is using elasticsearch and for what purposes Netflix is using elastic search and as I already mentioned you that Netflix has about 1.3 petabytes of data every day and if it's me it's some place to save this data and do some kind of visualization right and elasticsearch comes handy to do that tasks they are running about 150 clusters of elasticsearch and about 3,500 alone just dedicated for elasticsearch to hold the data and for the visualization using Groff Anna our Cabana and let's see how exactly Netflix is using elastic search Netflix is using for customer support to understand or debug our trays what's happening in the system say for example a customer tried to play a video and he couldn't stream the video it has showing some mirror now he calls up the customer asking for the reason now customer support should understand what's happening or why the video is not able to play for that particular ism all they do is go to an asset search and search for the user some information and they get to know all the events happening for that particular user they get to know why the video was not streaming what error was strong not just for this that means at Netflix are using galas research to understand what's happening in the system other use cases are like Netflix is also used to see errors in signups errors in logins and to keep track of a resource usage in the Netflix also let's learn how the tricks is using spark and machine learning to do recommendation and all different sort of stuff spark is used for content recommendation and personalization a majority of these machine learning models are ran on these large spark clusters and then these models are used to do sorting raw selection and accumulation what that means is when the user loads the front page of the Netflix Neph it should decide what to show the con what content to be shown to the user say for example when you load the front page you get to see the rows of different kind of genres like comedy movies are action movies and romantic movie side so that fix personalize is what kind of rows selection to be shown to a particular result all this decisions are happening based on the use historical data and his preferences and also inside that particular row you need to start the movies in in an order and the sorting should be in a way that should entice the user to watch those kind of movies and net lists always tries to retain the user in in their application to make users watch more video to do that they need to come up with a proper sorting logic and also they need to do a recommendation of movies to the users right for that they need to calculate in relevance ranking for different content available on their platform now I'm going to explain a little bit brief on how Netflix does the recommendation and personalization stuff two things one is artwork personalization and also movie recommendations Netflix personalizes artworks just for you say for example when a user opens the Netflix homepage you will see panel ads for different web series is different movies errs right and also when you search for a particular movie it will show a list of all the movies for our channel or something like that when the penguin Netflix shows different movie list it also shows the header image header image is like thumbnail for a particular video right Netflix will not be knowing what home nail people will like or what for what thumbnail the click-through rate will be high Netflix always wants you to stay in their platform watch more videos if they want to intrigue you to watch videos right for that they had to choose a proper or right thumbnail or header image for movie or any video how do they choose those image for any movie Netflix creates about nine to ten different artworks for a particular movie now net instead oh no which one user likes more what they do is randomly they will show different images for different users and then they analyze what for what an a there were more click-through rate Ardra users watch more video for what an aid user didn't watch based on these kind of analytics information Netflix will decide what artwork will be shown in future as you can see in this example stranger things web series has about 9 different thumbnails or header images initial initial days when stranger things was launched methods would have shown all these different header images to all the different users based on the results from the users they selected one particular thumbnail that will be used later as a permanent header image for the stranger things say for example in this image which is shown now the center image or a header image would have got about thousand watch video watches and the other videos will of God about different numbers based on this you can easily make out that people are more interested in that particular video if we show this particular header images that means that in future also if we keep showing this particular header image there are high more chances are high likely that user will watch that particular way movie recommendations system is a very important service for Netflix because Netflix who want to retain the user face to retain the user base Netflix should show relevant and amazing content which netflix has users can't just discover and any content like that only we can hear from our friends and peers and colleagues and then we can watch but apart from that if user wants to discover content it happens only through the recommendation engine so user does all sort of things like collecting the user interaction data users history users what are the information available from the user and does employ machine learning models to figure out the different recommended videos so what are the different kind of data are Netflix looks at to get this recommendation models first one is the interaction with the service how user is interacting with the Netflix service and other members tastes also matters it's not just a particular users it should be a collective collective kind of information and also all the metadata which is available from the previously watched videos for a user like metadata information like title of the content or the video actor or actress or directors genre and everything based on these also we can fill recommendation engine and also what device from which the user is mostly watching the content and also what time of the day a user is active so taking all of this information one can predict what a user might be interested or what kind of content user might be toaster so Netflix employs two different algorithms one is collaborative filtering and the other one is content-based filtering the idea of collaborative filtering is if two clients or two users have similar rating history then they will behave similarly in future say for example there are two person one person has liked a movie and then he watched one more different movie and if the other person also likes the movie that means that most probably he might also watch them same movie which the other user has watched and similarly the idea of content-based filtering is that this algorithm aims to when the movies based on these similar movies which I have liked before say for example if I keep watching a lot of comedy movies that means that the system will understand that he is entrusted in comedy genre and then it will keeps recommending the movies of comedy type let's talk about how open Connect works are open connect appliance words open connect appliance is of just another server which only caches Netflix video content and serves only to the Netflix subscribers our customers this open connect server is specifically designed for Netflix purpose only and this is how the Netflix or CA looks open correct has these features first one that the open code is provided free of charge to only the qualified partners and the partners are ISPs there are two benefits by providing free of charge first one is it helps necklace networks customer to get better quality of video streaming and the second thing is is peace bandwidth footprint will be lessened because if you see here this as well this as the ISPs and network since the OSI open connect server is placed inside the ESP all the video transaction or the packet flows only inside the ISP to the customers that way the bandwidth will never cross the ISP to the internet that way this bandwidth will be saved a lot of bandwidth will be saved there and the second thing is high availability open connect e is designed to be high availability and fault tolerance by having extra redundant components placed inside the server when building this server itself say for example it will have two power supplies if one power supply it will just switches to another redundant possibly similarly all the other components are added with extra components to make it high availability if you see the amount of traffic which open Connect is serving as of now is about 125 million hours of traffic content every day that is almost equal to the traffic equals to 10 terabytes of data per second there are different kind of open connect service also the one is small committed small open connect server and there are big open types of servers also available small open connects servers are given to mostly small is piece which only caches very popular content hmm whereas big open connect appliances caches every video which is which Netflix actually has in its catalog now let's see how Netflix caches the content on to open connect servers how does Netflix figure out what content to be cached on which server since there are different kind of servers where one server is of big size some are small open connect and there could be open connect clusters also then how Netflix figures out what content to be cached where there are two strategies to it the first part of this is figure out all the content which is very popular worldwide that means that there are user users in every places in the world that they are watching that particular series that means that that content should be cached in every server in the world but there are some content which is popularized only in some part of the country or some part of the continent right how do they predict that based on the historical living pattern Netflix checks all the historical viewing pattern of different location and it is for sure that if of some set of people are watching I see is one so one that means that they will most likely watch the next episodes the next day our upcoming days that means that Netflix Priya proactively catches those next episodes into the servers which is near to that location and also how Netflix distributes the content our cache content on open connect clusters say we have opened connect cluster with five different open connect servers inside the cluster now how Netflix distributes the cache among these servers so Netflix uses consistent hashing over here so if you see here the server one server to several three everything is in the consistent hashing group and they specify that the server one will be caching the file hash from 0 to 10,000 from the server 2 from 10,000 to 20,000 something like that what they do is hash the file name of the cache or the clip which we're trying to cache and then on the hash value check the range with which the content falls into which server and the cache will be saved in that particular server when the request for that particular video comes into the cluster the same thing happens do the hash of the file name and then check in which server that range falls into and the cache will be present there if the cache is not present then the request should be forwarded to the Netflix main server that is in the aid of your Scout and then it gets the content and then saves it here we have reached to the last section of the system design of Netflix that is a few miscellaneous thing Netflix uses most of AWS cloud infrastructure like route 53 SQS 4qe SNS 4 and notification purpose or route 53 for DNS resolution and Amazon eight of years auto-scaling for scaling their infrastructure also I believe all the document links in the description please go through them to understand the components in depth and also go through Netflix engineering blog in medium.com and that's it I'm open for the suggestion please suggest me if there are any modifications needed in my videos and thanks a lot please subscribe to the channel like the video and share the video with your friends thanks a lot
Info
Channel: Tech Dummies Narendra L
Views: 301,675
Rating: undefined out of 5
Keywords: Amazon interview question, interview questions, interview preparations, software interview preparation, developer interview questions, Facebook interview question, google interview question, Technical interview question, Netflix system design, youtube system design, video streaming system design, hotstar system design, video on demad system design, design netflix, netflix architecture, System design netflix
Id: psQzyFfsUGU
Channel Id: undefined
Length: 51min 26sec (3086 seconds)
Published: Fri Aug 24 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.