CDN Breakdown - rnakidi/dsa GitHub Wiki
ware Techie: "Well, imagine you have a cool toy, and your friends want to play with it, but they live far away. So, you give the same toy to your friends who live closer to them. That way, when your friends want to play, they can get the toy from their nearby friends super fast!"
6-Year-Old: "Oh, so the CDN is like a bunch of friends with the same toy, but they live closer to us and help us get the website stuff faster?"
Software Techie: "Exactly! The CDN is like friends with copies of websites and videos in different places. When you want to see a website, you get it from your closest friend (or server), making the internet faster."
6-Year-Old: "Wow, that's cool! Thanks, superhero friends!"
Software Techie: "You're welcome! They're our internet heroes, making things faster and better for all of us!"
CDN is a group of proxy servers distributed across the world. They are placed on the network edge.
CDN helps in making the product faster, reduces the overall latency, and enables data-intensive applications, making them highly available, scalable, reliable, and secure
When an end-user accesses an application, the request is routed to the nearest CDN using the routing system. There are scrubber servers that help to filter the malicious traffic and reroute requests to the CDN. The distribution system is vital in distributing the contents to all the global CDNs. The management system is like a monitoring system that measures important metrics like latency, load, downtime, and others.
Origin server sends the data to all the Parent proxy servers, which distributes the data to all the child proxy servers. End users consume to get the data from the child proxy servers. This tree-like structure helps in faster distribution, scalability, and reducing the load during content distribution.
How an end user is routed to the nearest CDN to serve the content is optimal and vital. Various methodologies are employed, like DNS redirection, routing systems like Anycast, client multiplexing, HTTP redirection, and many others. The CDN should never redirect a user to a distant server or reroute them when the CDN is overloaded.
CDN has various advantages; it helps with the overall system, improves its availability, scalability, reliability, security, latency, and distribution load, and reduces the page load time and bandwidth.
Various scenarios benefit from leveraging CDNs, including video streaming, multi-user scaling, serving static and dynamic content, large software and gaming downloads, high-speed content delivery, real-time streaming, and numerous other applications.