Ha multiplexing
다중화의 개요
다중화란 서비스의 가용성을 높이는 다양한 방법들 중 하나이다.
다중화 구성에는 다중화된 요소를 모두 이용할 수 있는 Active-Active와 다중화된 요소 중 일부는 사용할 수 없는 Active-Standby 두 종류가 있으며 Active-Standby는 Standby의 방식에 따라 다시 세 종류로 나뉜다.
Hot Standby | Standby 측은 가동 후 즉시 이용가능한 구성 |
---|---|
Warm Standby | Standby 측은 가동 후 이용가능하게 하기 위해서 준비가 필요한 구성 |
Cold Standby | Standby 측을 정지시켜 두는 구성 |
기술적으로 가능하면 Active-Active가 가장 가용성이 좋다.
데이터를 저장하지 않은 Stateless 방식의 요소라면 Active-Active를 비교적 쉽게 구현할 수 있으며 그 대표적인 예로는 웹 서버에서 로컬 스토리지나 임시 파일등을 이용하지 않은 경우 등이 있다.
본적으로는 Active-Active가 가능하도록 최대한 Stateless로 해야하지만 데이터베이스 서버나 파일 서버 등 데이터를 저장하는 부분을 Active-Active로 하면 대개 데이터 정합성 유지를 위해 동기화가 필요하기 때문에 동작이 느려지는 문제가 발생할 수 있다.
다중화를 위해 갖추어야 할 기본 기능
HA 솔루션은 서비스 가용성을 높이기 위한 솔루션으로 기본적으로 아래와 같은 기능을 반드시 갖추어야 한다.
1. 데이터 복제 기능
- 기본적으로 다중화로 구성된 서버 중 1번 서버에 장애가 발생 시, 2번 서버가 대상 서비스를 바로 진행하기 위해 양쪽의 데이터는 항상 무결성이 유지되어야 한다.
2. 장애 감시 기능
- 앞에서 설명한 서버 다중화 구성시 일부 서버가 장애로 인해 불능이 되었을 때, 정상적인 서버만 활용할 수 있도록 해야 한다.
서버 다중화의 장단점
장점 : 서버 다중화의 장점은 필요시 장애 상황이 발생하여도 서비스의 연속성을 보장 할 수 있다는 점
단점 : 단점은 당연하게도 비용이며 다중화 시키는 인스턴스의 개수만큼 비용이 늘어나게 된다.