개요
고가용성(High Availability)이란, 시스템이나 서비스가 가용성을 유지하는 능력을 말합니다. 이는 하드웨어나 소프트웨어의 장애, 인적 오류, 자연재해 등이 발생해도 시스템이나 서비스가 지속적으로 동작하고 사용가능하도록 하는 것입니다.
구현 방법
이중화(Hot Standby)
하나의 서버와 같은 다른 하나의 서버(스탠바이 서버)를 두어, 복제된 서버가 먼저 장애가 발생하면 스탠바이 서버가 즉시 대신 작업을 처리하는 방법입니다.
Replication
데이터를 여러 장소에 복제하는 방법으로, 대표적으로 Active-Active와 Active-Passive 방식이 있습니다. Active-Active 방식은 여러 대의 서버에서 동시에 읽고 쓰기를 수행하며, Active-Passive 방식은 하나의 서버에서 읽기/쓰기 작업을 처리하고, 나머지 서버는 데이터를 복제하기만 합니다.
클러스터링(Clustering)
여러 대의 서버를 하나로 묶어서 사용하는 방법입니다. 서버 장애 발생 시 다른 서버가 해당 역할을 대신 수행하여 가용성을 유지하는 방법입니다.
로드 밸런싱(Load Balancing)
서버에 들어오는 트래픽을 여러 대의 서버로 분산하여 처리하는 방법입니다. 하나의 서버에 장애가 발생해도 다른 서버가 대신 처리할 수 있도록 구성하는 것입니다.
무정지 배포(Zero Downtime Deployment)
배포 시 서비스 중단 없이 배포를 수행하는 방법입니다. 대표적으로 Blue-Green Deployment, Canary Release, Rolling Update 등이 있습니다.
위의 방법들은 모두 서버나 데이터베이스 등에 대한 고가용성을 구현하는 방법으로, 하나의 방법만을 선택하는 것이 아니라, 서비스의 특성에 따라 여러 방법을 조합하여 사용하는 경우가 많습니다.
'기타' 카테고리의 다른 글
배포 전략 : Rolling Update (0) | 2023.02.22 |
---|---|
배포 전략 : Blue-Green (0) | 2023.02.22 |
CI/CD (0) | 2023.02.22 |
Database : ACID (0) | 2023.02.22 |
Docker와 VM(Virtual Machine) (0) | 2023.02.22 |