Search⌘ K
AI Features

Design of a CDN

Define the foundational System Design of a CDN by detailing its essential components and their interactions. Understand the complete content delivery workflow, from origin servers to edge proxies, and analyze the required APIs for client requests and content distribution.

CDN design

We will design the CDN in two phases: first, we will define the core components, and second, we will examine the workflow of their interactions.

CDN components

The CDN consists of the following components:

  • Clients: End user devices, such as browsers and smartphones, that request content from the CDN.

  • Routing system: Directs clients to the optimal CDN facility. It uses input regarding content placement, request volume, server load, and URI namespaces to determine the nearest available server.

  • Scrubber servers: Separate legitimate traffic from malicious traffic (e.g., DDoS attacks). These are typically engaged when an attack is detected to clean traffic before routing it to the destination.

  • Proxy servers: Edge servers that serve content to users. They store hot data in RAM and cold data on SSDs or hard drives. They also provide accounting information to the management system. ... ...