고가용성 시스템을 위한 5가지 전략

고가용성(high availability, HA)의 사전적 정의는 서버, 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말합니다. 예컨대, 어떤 일이 있어도(IDC가 정전이 나도, 로직이 잘못되어 무한 루프에 빠져도) 운영하는 서비스의 장애를 사용자가 못 느끼도록 하는 상황을 말하는데요. 서비스의 복잡도와 사용자의 규모가 점점 늘어남에 따라 고가용성은 더욱 중요해지는 것 같습니다. 간혹, 기능 개발에만 신경 쓰며 "구현"만 하고 그다음은 생각 안 하는 경우가 있는데 이 글에서 이야기하는 다섯 가지 전략 측면이라도 살펴보면 좋을 것 같아 공유합니다.

1. 로드 밸런싱(Load Balancing, LB)

2. 격리를 통한 데이터 복제(Data Redundancy

3. 장애 조치(Failover)

4. 오토 스케일링(Auto scailing)

5. Rate Limiting(호출 제한)


각자 구현의 방식은 상황이나 환경에 따라 달라질 수는 있겠지만 개념을 숙지하고 있다가 서비스를 출시하거나 운영하는 상황에서 적용해 봐도 좋을 것 같네요.


https://newsletter.systemdesigncodex.com/p/5-strategies-for-high-availability



5 Strategies for High-Availability Systems

newsletter.systemdesigncodex.com

5 Strategies for High-Availability Systems

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2025년 2월 4일 오후 11:12

 • 

저장 48조회 5,653

댓글 0