Bird
Raised Fist0
HLDsystem_design~12 mins

CDN concept and usage in HLD - Architecture Diagram

Choose your learning style10 modes available
System Overview - CDN concept and usage

A Content Delivery Network (CDN) is a system of distributed servers that deliver web content to users based on their geographic location. It improves website speed, reduces latency, and handles high traffic by caching content closer to users.

Architecture Diagram
User
  |
  v
+----------------+
|      CDN       |
| (Edge Servers) |
+----------------+
  |
  v
+----------------+
| Load Balancer  |
+----------------+
  |
  v
+----------------+       +------------+
|   Web Server   |<----->|   Database |
+----------------+       +------------+
Components
User
client
Requests content from the system
CDN
cdn
Caches and delivers static content from edge servers close to users
Load Balancer
load_balancer
Distributes incoming requests evenly across web servers
Web Server
service
Serves dynamic content and handles business logic
Database
database
Stores persistent data for the application
Request Flow - 8 Hops
User → CDN
CDN → CDN
CDN → Load Balancer
Load Balancer → Web Server
Web Server → Database
Web Server → Load Balancer
Load Balancer → CDN
CDN → User
Failure Scenario
Component Fails:CDN
Impact:Users experience slower content delivery as requests go directly to origin servers, increasing latency and load on origin infrastructure.
Mitigation:System falls back to origin servers directly; origin infrastructure must be scaled to handle increased load until CDN is restored.
Architecture Quiz - 3 Questions
Test your understanding
What is the main purpose of the CDN in this architecture?
ATo balance load between web servers
BTo store user data permanently
CTo cache and deliver content closer to users
DTo process database queries
Design Principle
This architecture shows how a CDN reduces latency and load on origin servers by caching content close to users. It also demonstrates the importance of load balancing for distributing requests and the fallback mechanisms when caches miss or components fail.

Practice

(1/5)
1. What is the primary purpose of a Content Delivery Network (CDN) in system design?
easy
A. To store copies of content closer to users for faster delivery
B. To increase the size of the main server's database
C. To replace the main server completely
D. To encrypt all user data end-to-end

Solution

  1. Step 1: Understand CDN's role in content delivery

    A CDN caches copies of content at locations near users to reduce latency and speed up access.
  2. Step 2: Compare options with CDN purpose

    Only To store copies of content closer to users for faster delivery describes storing content near users for faster delivery, which is the main CDN function.
  3. Final Answer:

    To store copies of content closer to users for faster delivery -> Option A
  4. Quick Check:

    CDN = content near users for speed [OK]
Hint: CDN = cache content near users to speed delivery [OK]
Common Mistakes:
  • Thinking CDN replaces main server
  • Confusing CDN with encryption service
  • Assuming CDN increases database size
2. Which of the following is the correct way to describe how a CDN handles user requests?
easy
A. User requests always go directly to the origin server
B. CDN stores user credentials for authentication
C. CDN modifies user requests to change content
D. User requests are routed to the nearest CDN edge server if content is cached

Solution

  1. Step 1: Understand CDN request routing

    CDNs route user requests to the closest edge server that has cached content to reduce latency.
  2. Step 2: Evaluate options for request handling

    User requests are routed to the nearest CDN edge server if content is cached correctly states requests go to nearest CDN edge if cached; others are incorrect or unrelated.
  3. Final Answer:

    User requests are routed to the nearest CDN edge server if content is cached -> Option D
  4. Quick Check:

    CDN routes requests to nearest cache [OK]
Hint: Requests go to nearest cached CDN server, not origin [OK]
Common Mistakes:
  • Assuming all requests hit origin server
  • Believing CDN changes content on the fly
  • Confusing CDN with authentication service
3. Consider a system using a CDN with edge servers in multiple regions. If a user in Europe requests a static image, which server will most likely serve the image?
medium
A. A CDN edge server located in Europe
B. The origin server located in the US
C. A random CDN edge server in Asia
D. The user's local device cache only

Solution

  1. Step 1: Identify CDN edge server selection logic

    CDNs serve content from the closest edge server to the user to reduce latency.
  2. Step 2: Match user location with server location

    A user in Europe will get content from a European CDN edge server if available, not from origin or distant servers.
  3. Final Answer:

    A CDN edge server located in Europe -> Option A
  4. Quick Check:

    User location matches nearest CDN edge server [OK]
Hint: User served by nearest CDN edge server geographically [OK]
Common Mistakes:
  • Assuming origin server always serves content
  • Choosing random or distant CDN servers
  • Ignoring CDN edge server caching
4. A developer notices that users are still experiencing slow load times despite using a CDN. Which of the following is the most likely cause?
medium
A. The CDN is encrypting content which slows delivery
B. The CDN is not caching the content properly, causing requests to go to the origin server
C. The CDN is blocking user requests randomly
D. The CDN is storing user passwords insecurely

Solution

  1. Step 1: Analyze slow load cause with CDN

    If CDN cache misses occur, requests go to origin server, increasing latency and slowing load times.
  2. Step 2: Evaluate options for likely cause

    The CDN is not caching the content properly, causing requests to go to the origin server explains cache miss causing slow loads; others are unrelated or incorrect.
  3. Final Answer:

    The CDN is not caching the content properly, causing requests to go to the origin server -> Option B
  4. Quick Check:

    Cache miss = slow load [OK]
Hint: Slow CDN? Check if cache is missing content [OK]
Common Mistakes:
  • Blaming encryption for speed issues
  • Assuming CDN blocks requests randomly
  • Confusing CDN with security storage
5. You are designing a global video streaming service. Which CDN usage strategy best improves performance and reduces origin server load?
hard
A. Disable CDN caching to ensure fresh content always
B. Cache only small static files like logos, serve videos directly from origin
C. Cache all static content including videos on CDN edge servers worldwide
D. Use CDN only for user authentication requests

Solution

  1. Step 1: Identify content types for CDN caching

    Videos are large static files that benefit greatly from CDN caching near users to reduce latency and origin load.
  2. Step 2: Evaluate CDN strategies for global streaming

    Caching all static content including videos on CDN edges worldwide improves performance and reduces origin server load.
  3. Final Answer:

    Cache all static content including videos on CDN edge servers worldwide -> Option C
  4. Quick Check:

    Cache large static files globally for best performance [OK]
Hint: Cache all static content globally on CDN edges [OK]
Common Mistakes:
  • Caching only small files and ignoring videos
  • Disabling CDN caching unnecessarily
  • Using CDN for unrelated tasks like authentication
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard