가용성을 보장하는 방식에는 여러 가지가 있습니다. 다음을 한번 살펴볼게요.
• 다중화(중복성): 시스템의 일부 구성 요소에 장애가 발생해도 시스템이 계속 작동할 수 있도록 여러 구성 요소나 자원을 중복해 두는 방식입니다. 다중화 방식은 다양한 수준에서 구현할 수 있습니다. 예를 들어 하드웨어 중복성은 전원 공급 장치나 네트워크 연결 같은 장치를 여러 개 준비해 두는 것입니다. 이렇게 하면 하나가 고장 나더라도 다른 장치가 대신 작동할 수 있습니다. 반면에 소프트웨어 다중화는 프로세스나 서비스를 여러 개 준비해 두는 방식입니다. 이것으로 하나의 소프트웨어가 중단되더라도 다른 것이 이어서 서비스를 제공할 수 있습니다.
• 복제(레플리케이션): 시스템이 다중화를 갖추려면 데이터를 여러 노드에 복제해야 합니다. 데이터를 여러 노드에 복제해 두면 일부 노드에 장애가 발생하더라도 다른 노드가 해당 기능을 이어받아 시스템을 계속 운영할 수 있습니다. 복제 방식에는 여러 가지가 있습니다. 첫 번째로 액티브-패시브(active-passive) 복제는 한 노드가 주 노드로 작동하고 나머지 노드는 백업으로 대기하는 방식입니다. 반면에 액티브-액티브(active-active) 복제는 여러 노드가 동시에 요청을 처리하도록 구성하여 가용성을 높이는 방식입니다.