A content delivery network, or content distribution network (CDN), is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially relative to end users. CDNs came into existence in the late 1990s to alleviate the Internet's performance bottlenecks as the Internet was starting to become a mission-critical medium for people and enterprises. Since then, CDNs have grown to serve a large portion of the Internet content today, including web objects (text, graphics, and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social media sites. Content delivery network
- CDN Up and Running
- This repo aims to build a body of knowledge on how CDNs work by coding one from "scratch". The CDN we will design uses: Nginx, Lua, docker, docker-compose, Prometheus, grafana, and wrk.
- We'll start creating a single backend service and expand to a multi-node, latency-simulated, observable, and testable CDN. In each section, there are discussions regarding the challenges and trade-offs of building/managing/operating a CDN