My Sites


Wednesday, April 13, 2016

Technology Secrets behind Netflix


Simply for me, Netflix is awesome !! It's not all about the content that has on it, but the amazing technology that Netflix uses behind the curtain. It can be considered as the main leading global content streaming platform. So in North America, Netflix is the 3rd of the consumer internet traffic in peak times. And it has a huge library of content more than a petabyte. (1000 terabytes). Netflix expanded into 130 countries, now reaching just about every nation on Earth. So how are they handling such a huge traffic in a way that the consumers has no disappointment in loading content to their TVs, smartphones , gaming consoles and etc. Let's find out what is there behind the screen. :)

CDN - They have their own CDN which they call it Open Connect. Netflix has this partnership with local Internet Service Providers (ISPs) in order to deliver content efficiently  to their customers. Basically, it is localizing the internet traffic. So during quiet periods between midnight and lunchtime it prepopulates the servers with the content it thinks people will want to watch, reducing bandwidth use in peak hours.
They use FreeBSD as the open source OS, Nginx as the web server which will deliver the content via HTTP to the client application, and also Bird internet routing daemon to enable the transfer of network topology from ISP networks to the Netflix control system that directs clients to sources of content.
Talking about the main technologies,
Node.js is the heart of Netflix which many dependent technologies rely on top of node.js. Let's find out what the dependent technologies they are using.
Restify - Restify is a node.js module built specifically to enable you to build correct REST web services
Falcor - A JavaScript library for efficient data fetching
React.js - A JavaScript library for building user interfaces
NoSQL Databases/Tools used in Netflix - Amazon SimpleDB, Hadoop/Apache HBase and Cassandra.
Memcached- Free & open source, high-performance, distributed memory object caching system
Many microservice REST APIs are written in java and python.
AWS- (EC2 /S3 / Dynamodb/ EMR)
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
Docker
Titus
Prana
Reactive Socket
Qiro

Reference : http://techblog.netflix.com/
For more info : http://stackshare.io/netflix/netflix

No comments:

Post a Comment