더북(TheBook)

두 대 중 첫 번째 서버(액티브)만 클라이언트 요청을 전담합니다. 즉, 실제로 활성화된 서버입니다. 두 번째 서버는 아무런 일도 하지 않습니다. 클라이언트 연결도 받지 않습니다. 필요할 때 액티브 서버의 데이터를 지속적으로 복제받습니다.

p397_2

▲ 그림 9-25 패시브 서버는 필요할 때 액티브 서버의 데이터를 복제

 

전담하던 액티브 서버가 죽으면 패시브 서버는 액티브 서버로 승격됩니다. 그리고 클라이언트에서 들어오는 요청을 처리합니다. 죽었던 액티브 서버가 다시 살아나면 이 서버는 패시브 서버가 됩니다.

정리하자면, 서버 한 대만 액티브 역할을 수행하고 나머지 서버는 패시브 모드로 대기합니다. 그러다 액티브 서버가 죽으면 패시브가 그 역할을 대행합니다. 히드라에 비유하자면, 머리 하나가 날뛰는 동안 나머지 머리는 잠자고 있는 셈이죠. 그 머리가 잘리면 역할이 뒤바뀌고요.

이 방식에는 단점이 있습니다. 패시브 서버는 그저 백업 역할만 할 뿐 다른 하는 일이 없습니다. 즉, 서버 자원의 낭비입니다. 이 문제를 해결하려면 두 서버가 모두 액티브 서버 역할을 해야 하겠죠. 이러한 패턴을 액티브-액티브(active-active)라고 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.