Chapter 9. Advanced Concepts
Some of the most challenging use cases go beyond the basic idea of running consumer services from a single location. Geographically distributed deployments are often used for deploying real-time services that serve large numbers (millions to billions) of consumers. These services typically require predictable low-latency SLAs (in milliseconds) as well as round-the-clock availability to ensure a great real-time consumer experience. Essentially the goal is to provide the first customer and the billionth customer the same engaging user experience while also ensuring that the service is always available. Replication of data across geographically distributed sites is essential to improve availability of real-time mission-critical services, such as many financial systems, ecommerce sites, telco services, and ticket reservation systems.
Many production services require a distributed database to be set up across multiple sites for resiliency and availability. Such geodistribution can be done using synchronous or asynchronous replication.
Only by using synchronous replication can consistency between distributed system components be provided, which will restrict availability during partitioning. Additionally, a synchronous active-active system will create higher latencies in the normal situation for writes that can run into tens or even hundreds of milliseconds if sites are distributed across thousands of miles in cross-continent deployments.
Figure 9-1 is an ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access