서버 이중화 관련 문제.. 이중화 구성 방안
현재 제가 진행하고 있는 프로젝트가 하나 있는데
서버를 이중화로 갈것 같습니다.
이유는 당영히 안정적인 서비스를 위합이구요
먼저 대략적인 플로우를 말씀드리면
두대에 서버는 똑같이
1.모바일 스트리밍 서비스
2.웹서비스
3.dns 서비스
를 합니다
1.번은 카메라에서 보내오는 영상을 핸드폰에 보내주는 작업입니다
2.3.번은 웹과 일반어플리케이션에서 카메라의 영상을 볼수 있기 위해 dns 기능을 수행합니다
문제가 되는 중심적인 흐름을 말씀드리겠습니다.
1번 작업을 위해 핸드폰은 2개의 서버중에 첫번째 서버로 붙게되며 1번서버가 문제가 있을시 2번 서버로 붙어서 작업을 하게 됩니다.
어떻게 구성을 하면 좋을까요?
핸드폰스스로가 두개의 ip주소를 가지고 있어 1번으로 시도을 해보고 안돼면 2번으로 붙는다
아니면 1번 서버가 죽으면 2번서버로 자동으로 포워딩할수 있는 엔진을 둔다.. 어디다 두어야할지는 잘 모르겟지만...쩝
더 문제가 되는것은 2번 작업입니다.
2번 작업의 중심흐름은..
123kk.abc.co.kr 이렇게 주소단이나 어플리케이션 실행단에 도메인 네임을 주면
www.abc.co.kr를 dns 호스팅해준 회사 서버로 가서 매칭된 ip(1번서버)로 찾아가겠지요
그다음 해당 주소에 서버(1번서버)에는 dns 서버가 깔려있음으로 123kk.abc.co.kr를 찾아서 해당 ip주소에 켐에 연결이 되는 흐름입니다
그렇다면 1번 서버가 문제가 발생하면 2번 서버에서 이같은 일을 해주어야 하는데 어떻게 구성하면 좋을까요?
1번 서버가 문제가 발견됬다는걸 포착하게 되면 ddns 호스팅회사내에 www.abc.co.kr 도메인 네임을 기존 1번서버주소에서 2번서버 ip주소로 바꿔준다
이렇게 하면 케쉬가 update되는데 반나절이라는 문제가 추가로 발생하겠지만 얼추 될것 같긴 한데...
아직 이구상 저구상 중입니다.
이것땜에 머리가 엉망입니다.
또 이같은 고민은 프로그래머라면 언제가는 할법한 고민이고 방법도 여러가지 일것 같아 올립니다.
많은 의견이 있었으면 싶습니다.
Re: 서버 이중화 관련 문제.. 이중화 구성 방안
장비를 추가로 구입해야 하는 단점은 있지만,
로드발랜싱을 구현하는 것이 가장 좋은 방법입니다.
로드발랜싱이라 해서... 로드발랜스를 하는 것이 주목적이 아니라,
장애 발생시 스위칭을 위한 방법으로 선택하는 거지요.
단순히 iptables만으로도 구현할 수 있습니다.
다른 편법적인 방법은 ip를 스위칭하는 겁니다.
일단 보통 요즘 서버는 nic가 두개정도 붙는것이 일반적이므로..
관리를 위해 고정되어지는 ip와 서비스를 위한 ip로 두개를 씁니다.
1번섭이 장애가 발생될 경우, 1번섭의 서비스ip는 내리고,
2번섭에 ip 얼라이싱을 사용하여. 두개의 ip를 할당하는 겁니다.
그럼... 자연히 2번섭으로 서비스가 넘어갑니다.
그사이 관리를 위한 아이피로 타고 들어가 신속히 1번섭을 복구해야죠.
다른 방법으로는 터널링을 이용한 방법도 있습니다.
1번섭에서 어떠한 이유로든지 서비스를 할 수 없는 상태가 되면...
서비스를 내리고, 2번섭으로 터널링을 만듭니다.
물론 1번섭이 완전히 죽는다면 해결할 수는 없지만, 로그가 풀나거나,
알수없는 메모리 문제로 1번섭의 서비스만 문제가 되는 거라면..
터널링으로 해결할 수 있습니다. 그렇게 되면 1번섭은
라우터와 비슷한 역할을 하게 되지요.
단 이 방식은 복구할 때도 좀 고생을 합니다.
비슷한 고민은 많이 하는데...
돈안들고 쉽게 해결하는 방법은 별로 없는 것 같더군요...
더 좋은 방법이 있다면 많이 답글좀 달아 주셨으면 좋겠네요.. ㅎㅎ
There is no spoon. Neo from the Matrix 1999.
.
L4 Switch 를 이용하시라고 권하고 싶습니다.
그렇게 되면 L4 Switch가 가상의 IP를 하나 가지고,
사용자는 이 가상의 IP로 접속하게 되면,
두 대의 서버중 한 곳으로 연결하게 됩니다.
SGI의 Failsafe라는것과 Linux HA 등등 몇가지 방법이 있을
SGI의 Failsafe라는것과 Linux HA 등등 몇가지 방법이 있을듯.
잘 하려면 만만히 보긴 힘든 구성입니다. 대충하려면 얼마든지 대충.. ㅎㅎㅎ
L4만 하나 사면되겠죠?
댓글 달기