When there is geographically distributed traffic for the websites, Content Delivery Network (CDN) helps with the fast delivery of the content with the help of a group of servers working together. These files usually have HTML/CSS files, JS files, photos, and so on which are handled by the CDN. This helps improve the security of the data while the content availability and redundancy are also high. To top it off, with the use of CDN, bandwidth cost is also reduced with improved performance levels.
How does CDN work?
The content distribution is easy from CDN because the data comes from the closest data centers so the original server will have less load. The original server contains the original version of content which is distributed across multiple locations around the world in edge servers. The performance is improved because of the distance between the client and the website server where the cached version of data is received upon request. The original server has less load and scalability is improved as well.
Example: -
Let’s imagine someone in Nepal requests a website hosted in Russia. The data will be received from the nearest edge location which might be somewhere in China. This helps with latency since the original server doesn’t need to get the load.
The most common example of CDNs would be Amazon CloudFront, Google Cloud CDN, Cloudflare CDN, and Fastly.
Types of Content Delivery Network
Push CDNs
The push Content Delivery Network receives new content whenever changes occur on the server. The changes include uploading new content directly to the network and rewriting URLs that point to it. Whenever content expires or is updated, we configure it — every time a change minimizes traffic or maximizes storage. For the sites that don’t have a large amount of traffic or barely updated content, push CDN works a charm. The content is updated once instead of getting re-pulled at regular intervals.
Pull CDNs
Further, the pull CDNs deal when the cache is updated based on request. When a client sends a request and CDN fetches it from the original server and fills the cache with the latest data. This improves the maintenance aspect because the cache updates are performed based on the requests sent to the original server. This works great for high-traffic sites with distributed content on the network.
Problems that might arise
Content Delivery Network (CDN) has a good concept and a good implementation system, but it comes with some issues that need to be looked at.
- It is very expensive when the service has very high traffic.
- Many countries and companies have blocked the domain and IP addresses of many CDNs.
- Sometimes, when the client in a country with no CDN tries to access the data, the distance might be bigger than when they were accessing the original server
pragyaasapkota / System-Design-Concepts
Though the concepts of system design might be tricky, let's see them individually to their core concepts and have a better understanding.
System Design
Systems design is the process of defining elements of a system like modules, architecture, components and their interfaces and data for a system based on the specified requirements.
This is a index for the concepts of system.
If you wish to open these in a new tab, Press CTRL+click
S.N. | Table of Content |
---|---|
1. | Caching |
2. | Network Protocols |
3. | Storage: The Underrated Topic |
4. | Latency and Throughput |
5. | System Availability |
6. | Leader Election |
7. | Proxies |
8. | Load Balancing |
9. | Endpoint Protection |
10. | HTTPS: Is it better than HTTP? |
11. | Polling and Streaming |
12. | Long Polling |
13. | Hashing |
14. | CAP Theorem |
15. | PACELC Theorem |
16. | Messaging and Pub-Sub |
17. | Database |
18. | Logging, Monitoring, and Alerting |
19. | Distributed System |
20. | Scaling |
21. | Event Driven Architecture (EDA) |
22. | CQRS |
23. | Message Queue |
24. | Architectural Patterns |
25. | Enterprise Service Bus (ESB) |
26. | SLA, SLO, and SLI |
27. | Heartbeat |
I hope this article was helpful to you.
Please don’t forget to follow me!!!
Any kind of feedback or comment is welcome!!!
Thank you for your time and support!!!!
Keep Reading!! Keep Learning!!!
Top comments (0)