computer-scienceangular-roadmapbackend-roadmapblockchain-roadmapdba-roadmapdeveloper-roadmapdevops-roadmapfrontend-roadmapgo-roadmaphactoberfestjava-roadmapjavascript-roadmapnodejs-roadmappython-roadmapqa-roadmapreact-roadmaproadmapstudy-planvue-roadmapweb3-roadmap
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
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) |