Evaluation of CDN's Design
Let's evaluate our proposed CDN.
We'll cover the following
Evaluation
Here, we see how our design fulfills the requirements we discussed in the previous lessons. Our main requirements are high performance, availability, scalability, reliability, and security. Let’s discuss them all one by one.
Performance
CDN achieves high performance by minimizing latency. Some of the key design decisions that minimize latency are as follows:
- Proxy servers usually serve content from the RAM.
- CDN proxy servers are placed near the users to provide faster access to content.
- A CDN can also be the provider of proxy servers located in the ISP or Internet exchange points (IXPs) to handle high traffic.
- The request routing system ensures that users are directed to the nearest proxy servers, as discussed earlier.
- The proxy servers have
content stored in nonvolatile storage systems like SSD or HDD. Serving from these resources results in a more negligible latency than we’d see from serving content from origin servers.long-tail If we monitor the access frequency of our content over some time, we can see a trend where some content is read by many clients (for example, 20% of content asked by 80% of clients), and then there is a long list of the content that very few clients ask for. Such an access distribution is called a long-tailed distribution.