2024. 10. 24. 10:19ㆍ매일의 성장 기록/IT 지식
1. Active-Passive 구성
설명:
Active-Passive 구성은 주로 고가용성이 중요한 시스템에서 사용됩니다. 주 서버(Primary)가 모든 작업을 처리하는 동안, 대기 서버(Standby)는 그 상태를 동기 또는 비동기 복제로 유지하면서 활성화되지 않은 상태로 대기합니다. 주 서버가 장애를 일으키면 대기 서버가 자동으로 활성화되어 Primary 역할을 대신합니다. 이 과정에서 데이터의 일관성을 유지하며, 데이터 손실 없이 서비스를 복구할 수 있습니다.
사용 예시:
- 사용 기업: 은행 및 금융 서비스 회사.
- 상황: A 은행은 고객의 금융 거래를 처리하기 위해 서울에 주 서버를 운영하고 있으며, 부산에 대기 서버를 유지합니다. 주 서버가 장애를 일으킬 경우 부산의 대기 서버가 활성화되어 금융 거래가 즉시 처리되도록 설계되어 있습니다. 고객은 이 과정에서 서비스 중단을 느끼지 못하고 계속 거래를 진행할 수 있습니다.
특징:
- 주 서버(Primary)는 모든 트래픽을 처리하며, 대기 서버(Standby)는 비활성 상태에서 데이터를 복제받습니다.
- 장애 발생 시 대기 서버가 자동으로 활성화되어 트래픽을 처리합니다.
- 동기 복제: 데이터가 주 서버에서 커밋될 때, 대기 서버에서도 동시에 커밋이 완료됩니다.
- 비동기 복제: 주 서버에서 트랜잭션이 완료된 후, 대기 서버로 데이터가 복제됩니다. 장애 시 약간의 데이터 손실이 발생할 수 있습니다.
장점:
- 자원 절약: 대기 서버가 평소에 비활성 상태이므로 자원을 덜 소모합니다.
- 구성의 단순성: 상대적으로 설정 및 관리가 쉽고 유지보수가 용이합니다.
단점:
- 전환 시간: 장애가 발생하면 대기 서버로 전환되는 데 시간이 다소 걸릴 수 있습니다.
- 리소스 활용 문제: 대기 서버가 비활성 상태로 대기하는 동안 자원을 충분히 활용하지 못합니다.
2. Active-Active 구성
설명:
Active-Active 구성은 두 개 이상의 서버가 모두 동시에 활성화되어 트래픽을 처리하는 방식입니다. 이 구성은 주로 고성능 서비스에서 사용되며, 각 서버는 서로 실시간으로 데이터를 동기화하여, 장애가 발생하면 다른 서버가 즉시 트래픽을 처리합니다. 이 방식은 무중단 서비스가 필요한 경우에 적합하며, 대규모의 분산 환경에서 자주 사용됩니다.
사용 예시:
- 사용 기업: Amazon, Facebook, Google 등 대규모 인터넷 서비스 제공 업체.
- 상황: Facebook은 여러 대의 서버가 동시에 수백만 명의 사용자 트래픽을 처리하는 Active-Active 구성을 사용합니다. 만약 특정 지역의 서버가 장애를 겪더라도, 다른 지역의 서버가 즉시 트래픽을 이어받아 사용자는 서비스 중단을 전혀 경험하지 않습니다. 모든 데이터는 실시간으로 동기화되어 있으며, 사용자는 어디서나 동일한 데이터에 접근할 수 있습니다.
특징:
- 두 개 이상의 서버가 동시에 활성화되어 트래픽을 처리합니다.
- 모든 서버는 실시간 동기화 상태로 유지되며, 각 서버 간 데이터 일관성을 보장합니다.
- 장애 발생 시 다른 서버가 즉시 트래픽을 이어받아 처리하므로 무중단 서비스가 가능합니다.
장점:
- 고가용성: 장애가 발생해도 서비스가 중단되지 않으며, 트래픽이 다른 서버로 자동 전환됩니다.
- 부하 분산: 여러 서버가 동시에 트래픽을 나누어 처리하므로, 성능을 최적화할 수 있습니다.
단점:
- 복잡한 설정: 서버 간 실시간 동기화 및 부하 분산을 구현하려면 매우 복잡한 설정이 필요하며, 유지보수도 어렵습니다.
- 비용 증가: 모든 서버가 동시에 활성화 상태로 작동하므로, 자원 및 비용이 많이 듭니다.
3. Geo-Redundant 구성 (지리적 이중화)
설명:
Geo-Redundant 구성은 지리적으로 분산된 여러 데이터센터에 서버를 배치하여, 각 데이터센터가 다른 지역에 위치해 있을 때 발생할 수 있는 지역 재해에 대비하는 방식입니다. 각 데이터센터는 동기화된 상태로 유지되며, 한 지역의 데이터센터에 장애가 발생해도 다른 지역에서 서비스가 지속됩니다. 이는 주로 글로벌 서비스 제공에 필수적입니다.
사용 예시:
- 사용 기업: Netflix, Google Cloud, Microsoft Azure와 같은 글로벌 서비스 제공 업체.
- 상황: Netflix는 유럽, 미국, 아시아에 걸쳐 데이터센터를 운영하여, 사용자들이 어디서든지 고화질의 스트리밍 서비스를 제공받을 수 있도록 하고 있습니다. 유럽 데이터센터에서 장애가 발생하더라도, 미국 또는 아시아 데이터센터에서 즉시 서비스를 이어받아 중단 없는 스트리밍을 보장합니다.
특징:
- 여러 지역에 분산된 서버가 실시간으로 데이터를 동기화하며, 장애 발생 시 다른 지역의 서버가 즉시 트래픽을 이어받습니다.
- 물리적 거리로 인해 발생할 수 있는 네트워크 지연을 최소화하는 설정이 필요합니다.
장점:
- 재해 복구 능력: 특정 지역에서 발생하는 재해로 인해 데이터센터가 중단되더라도, 다른 지역에서 서비스가 지속됩니다.
- 글로벌 서비스 지원: 전 세계에 걸쳐 균일한 성능의 서비스를 제공할 수 있습니다.
단점:
- 네트워크 지연: 데이터센터 간 물리적 거리가 멀면 네트워크 지연이 발생할 수 있으며, 이를 최소화하는 인프라가 필요합니다.
- 높은 비용: 여러 지역에 걸친 데이터센터 운영 및 네트워크 비용이 매우 높습니다.
4. Disaster Recovery (재해 복구) 구성
설명:
Disaster Recovery 구성은 재해에 대비해 주 데이터센터와 재해 복구 데이터센터를 분리하여 운영하는 방식입니다. 주 데이터센터에서 모든 트래픽을 처리하지만, 재해 발생 시 재해 복구 데이터센터가 데이터를 복제받아 트래픽을 대신 처리합니다. 이 방식은 데이터 손실을 방지하고 빠른 복구를 목표로 합니다.
사용 예시:
- 사용 기업: 인터넷 서비스 제공 업체(ISP), 통신사, 대형 제조업체.
- 상황: 한국의 대형 통신사 B사는 서울에 주 데이터센터를 운영하며, 재해가 발생할 경우 부산에 위치한 재해 복구 데이터센터가 트래픽을 즉시 받아 처리할 수 있도록 설계되었습니다. 만약 서울에서 대규모 정전이나 재난이 발생하면, 부산 데이터센터에서 모든 통신 서비스가 자동으로 처리되어 고객이 통신 중단을 경험하지 않습니다.
특징:
- 주 데이터센터가 트래픽을 처리하고, 재해 복구 데이터센터는 대기 상태로 데이터를 실시간 복제받습니다.
- 주 데이터센터에 장애가 발생하면 재해 복구 데이터센터가 즉시 활성화되어 트래픽을 처리합니다.
장점:
- 재해 대비: 자연 재해, 전기 장애 등 다양한 위협에 대한 복구 능력이 뛰어납니다.
- 데이터 손실 방지: 데이터가 실시간 복제되기 때문에, 재해 시에도 데이터 손실 없이 복구할 수 있습니다.
단점:
- 복구 시간: 재해 발생 시 데이터 복구 및 서비스 전환에 시간이 소요될 수 있습니다.
- 비용 부담: 재해 복구 데이터센터를 유지하는 데 들어가는 비용이 크며, 네트워크 비용도 증가합니다.
5. Shared-Nothing Cluster 구성
설명:
Shared-Nothing Cluster 구성은 각 서버(노드)가 독립적인 자원(스토리지 및 CPU)을 가지며, 서로 자원을 공유하지 않는 방식입니다. 각 노드는 독립적으로 작업을 처리하며, 노드 간 자원 충돌이 없습니다. 한 노드가 장애를 일으키면 다른 노드가 즉시 트래픽을 처리하여 서비스 중단을 방지합니다.
사용 예시:
- 사용 기업: 구글(Google)의 검색 엔진과 같은 분산 처리 시스템.
- 상황: Google은 수천 대의 노드를 사용하여 검색 요청을 처리하는 Shared-Nothing 클러스터를 운영합니다. 사용자가 검색 요청을 하면 여러 노드가 분산된 상태에서 검색 작업을 나누어 처리하며, 한 노드에 장애가 발생하더라도 다른 노드가 검색 결과를 처리하여 사용자는 검색 서비스 중단을 경험하지 않습니다.
특징:
- 각 노드는 독립적으로 자원을 보유하며, 자원을 공유하지 않으므로 자원 간 충돌이 없습니다.
- 노드 간에 실시간 동기화가 필요하지 않으므로 성능이 우수하며, 각 노드는 독립적으로 작동합니다.
장점:
- 높은 확장성: 노드를 쉽게 추가하거나 제거할 수 있으며, 시스템 확장이 매우 용이합니다.
- 장애 격리: 한 노드에 장애가 발생해도 다른 노드에 영향을 주지 않아 서비스가 중단되지 않습니다.
단점:
- 복잡한 관리: 각 노드를 독립적으로 관리해야 하므로 유지보수가 어렵고, 자원 관리도 복잡합니다.
- 데이터 동기화 문제: 데이터 동기화를 제대로 설정하지 않으면, 여러 노드 간 데이터 무결성에 문제가 발생할 수 있습니다.
6. Multi-Site Clustering 구성
설명:
Multi-Site Clustering 구성은 여러 물리적 위치에 분산된 데이터센터 간에 클러스터를 구성하여 운영하는 방식입니다. 각 데이터센터는 독립적으로 작동하며, 한 데이터센터에 장애가 발생하면 다른 데이터센터가 자동으로 트래픽을 이어받아 처리합니다. 주로 클라우드 서비스에서 많이 사용됩니다.
사용 예시:
- 사용 기업: 마이크로소프트 애저(Microsoft Azure), 아마존 웹 서비스(AWS)와 같은 클라우드 서비스 제공업체.
- 상황: Microsoft Azure는 여러 지역에 분산된 데이터센터를 운영하여, 사용자가 특정 지역에서 장애가 발생하더라도 서비스가 중단되지 않도록 하고 있습니다. 예를 들어, 북미 데이터센터가 장애를 겪더라도 유럽 또는 아시아 데이터센터가 즉시 트래픽을 이어받아 서비스가 중단 없이 지속됩니다.
특징:
- 여러 물리적 위치에 분산된 데이터센터 간 클러스터링을 통해 고가용성을 보장합니다.
- 각 데이터센터는 독립적으로 운영되지만, 한 데이터센터에 장애가 발생하면 자동으로 다른 데이터센터가 트래픽을 처리합니다.
장점:
- 서비스 연속성 보장: 여러 지역에 걸쳐 클러스터링된 데이터센터를 통해 장애 발생 시에도 서비스가 중단되지 않습니다.
- 지리적 분산: 지리적으로 여러 위치에 데이터센터를 분산하여 데이터 보호 및 성능 최적화를 실현할 수 있습니다.
단점:
- 복잡한 설정: 여러 사이트 간 클러스터링을 구현하려면 설정이 복잡하며, 유지 관리도 어렵습니다.
- 비용 증가: 여러 사이트에 걸친 데이터센터 운영 비용이 높습니다
'매일의 성장 기록 > IT 지식' 카테고리의 다른 글
액티브-액티브 이중화 (1) | 2024.10.31 |
---|---|
액티브-패시브 이중화 (1) | 2024.10.31 |
HADR(High Availability and Disaster Recovery)이란? (1) | 2024.10.24 |
HADR 설치 및 설정 예시( PostgresSQL ) (0) | 2024.10.24 |
로드 밸런서(Load Balancer) 로드 밸런싱(Load Balancing) (0) | 2024.10.23 |