Distributed Systems 01

Sungju Kim·2025년 1월 13일

Sacalability

Horizontal Sacaling

Increasing the number of machinese or nodes to the system.

Vertical Scaling

Increasing the capacity of individual nodes withint a system.
Examples: upgrading hardware like CPU, memory, or storage.

Availability

High Availability

Often measured in terms of uptime which is:

(time that a system is operational)
-----------------------------------
(the total time it is supposed to be operational)

Strategies for High Availability

1. High Availability through Redundancy and Replication

  • By duplicating critical components or entire systems, organizations can ensure that if one fails, the redundant system takes over seamlessly, avoiding any interruption in service.

2. Availability through Load Balancing

  • Load balancing involves distributing workloads across multiple servers, ensuring that no single server is overwhelmed.

3. Availability through Distributed Data Storage

  • Distributed data storage systems replicate data across geographically diverse locations, ensuring that even if one site experiences an outage, data remains accessible from other locations.

4. Availability and Consistency Models (Strong, Weak, Eventual)

  • Strong consistency ensures that all replicas have the same data at all times, at the cost of reduced availability and performance.
  • Weak consistency allows for temporary inconsistencies between replicas, with the advantage of improved availability and performance.
  • Eventual consistency guarantees that all replicas will eventually converge to the same data, providing a balance between consistency, availability, and performance.

5. Availability through Health Monitoring and Alerts

  • Implementing robust health monitoring systems ensures that organizations can proactively identify and address potential issues before they impact system availability.

6. Availability through Regular System Maintenance and Updates

7. Availability through Geographic Distribution

  • This ensures that even if one region or data center experiences an outage, users can still access the system from other geographically dispersed locations.

Latency & Performance

You can imporve latency and performance of your software by:

  • Data Locality
  • Load Balancing
  • Caching Strategies
profile
Fully ✨committed✨ developer, always eager to learn!

0개의 댓글