System Design
About Lesson

In the previous section, we mentioned that load balancer provides a fail-over mechanism provided we have replication. Replication essentially means duplication of critical data or services with the intention of increased reliability, fault-tolerance and accessibility of the system.

For example, if Instagram held all your photos in one data storage, and if that storage stopped working temporarily (or permanently if you were in your nightmare), then we would be in an unimaginable situation where all your photos would be inaccessible. We surely don’t want this and people at Instagram would definitely not desire such a scenario. Making copies of this data would prevent such an ordeal. The same logic applies to services as well.

replication

Advantages of replication:

  • Reliability: Creating redundancy in a system can remove single points of failure and provide backups if needed in an adverse scenario.
  • Better performance: User requests can be distributed across servers improving performance as it allows more requests to be processed in parallel.
  • High availability: By replicating data and services across different locations, your website remains in operation even if a server in some location is offline as you can access another server.
Scroll to Top