functional requirements
- retrieve
- request
- deliver
- search
- update
- delete
non-functional
- available
- if proxy fails, can be redirected
- if origin server fails, has back ups
- performance
- proxy server content via RAM
- scalability
- adding number of reading replica and proxy servers
- reliable and secure
Design a CDN
- Clients
- Routing system - direct client to nearest CDN facility
- Scrubber server - routing away the malicious traffic
- Proxy server - server content from RAM to user
- Distribution system - distribute contents to all proxy servers
- Origin servers
- Management system