Roadmap to becoming a developer in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

32 lines
1.6 KiB

# Availability Patterns
There are three Availability Patterns which are:
- Fail-Over
- Replication
- Availability in Numbers
## Fail-Over
### Active-passive
With active-passive fail-over, heartbeats are sent between the active and the passive server on standby. If the heartbeat is interrupted, the passive server takes over the active's IP address and resumes service.
## Active-active
In active-active, both servers are managing traffic, spreading the load between them. If the servers are public-facing, the DNS would need to know about the public IPs of both servers. If the servers are internal-facing, application logic would need to know about both servers.
## Replication
Replication is futher derived in two components:
- Master-Slave Replication - The master serves reads and writes, replicating writes to one or more slaves, which serve only reads.
- Master-Master Replication - Both masters serve reads and writes and coordinate with each other on writes. If either master goes down, the system can continue to operate with both reads and writes.
## Availability In Numbers
Availability is often quantified by uptime (or downtime) as a percentage of time the service is available. Availability is generally measured in number of 9s--a service with 99.99% availability is described as having four 9s.
To learn more, visit the following links:
- [Getting started with Availability Patterns](https://github.com/donnemartin/system-design-primer)
- [Availability in System Design](https://www.enjoyalgorithms.com/blog/availability-system-design-concept)
- [System Design: Availability](https://dev.to/karanpratapsingh/system-design-availability-38bd)