고가용성을 지닌 서버는 이 괴물과 같습니다. 사용자 입장에서는 논리적으로 서버 한 대처럼 보이지만, 이 서버의 정체는 컴퓨터 여러 대로 구성된 서버 클러스터입니다. 이 서버 중에서 몇몇 서버가 과부하에 걸리거나 오작동으로 정지하더라도, 나머지 서버가 계속해서 사용자 요청을 처리할 수 있습니다. 이렇게 되면 사용자 입장에서는 서버가 절대 죽지 않는 것처럼 보이겠지요.
서버 클러스터에 있는 서버 중 하나가 죽었을 때, 다른 서버가 죽은 서버를 대신해서 일을 하고 그동안 죽은 서버가 다시 살아나는 것을 장애 극복이라고 합니다.
앞서 서버 컴퓨터 한 대에서 감당할 수 없는 양을 처리하고자 서버를 여러 대 놓는 것을 살펴보았습니다. 그러나 우리는 장애 극복을 위해서 필요 이상의 서버를 둡니다. 이것을 이중화 혹은 다중화라고 합니다.
고가용성을 위한 서버 구성 패턴에는 여러 가지가 있습니다. 이 중에서 두 가지를 알아봅시다.
첫째, 액티브-패시브(active-passive) 패턴입니다. 마스터-슬레이브(master-slave) 패턴이라고도 합니다. 이 패턴에는 서버가 두 대 있는데, 하나는 액티브 서버고 다른 하나는 패시브 서버입니다.
▲ 그림 9-24 액티브-패시브 패턴