'로드 밸런싱 클러스터'와 '고가용성 클러스터'를 어떻게 구별하나요?
로드 밸런싱과 고가용성은 초점이 다릅니다. 로드 밸런싱이 반드시 고가용성을 의미하는 것은 아닙니다.
컴퓨터실에서 트래픽이 많은 웹사이트를 구축한 다음 로드 밸런싱 장치와 3개의 동일한 Tomcat 서버를 사용하여 로드 밸런싱을 달성하고 모든 트래픽이 특정 규칙에 따라 라우팅된다고 가정합니다. 이 알고리즘은 다음과 같습니다. 세 개의 서버에 할당되었습니다.
그렇다면 이 시스템은 가용성이 높은 걸까요? 반드시 그런 것은 아닙니다. Tomcat 서버만 고려한다면 3개의 서버를 사용하는데, 이는 실제로 서버 하나만 사용하는 것에 비해 로드 밸런싱과 가용성이 모두 향상됩니다. 그러나 전체 시스템의 관점에서 볼 때 서버 수를 늘리는 것은 시스템 가용성을 향상시키는 하나의 측면으로만 간주될 수 있습니다.
고가용성은 높은 MTBF(평균 장애 간격)와 낮은 장애 복구 시간, 즉 시스템이 오랫동안 지속적으로 실행되고 충돌 상태에서 신속하게 복구할 수 있는 능력을 의미합니다. 분명히 위의 시스템은 이 두 가지 조건을 충족하지 못합니다.
첫째, 여러 단일 실패 지점이 있습니다.
로드 밸런서, 네트워크 장치 세트, 전원 공급 장치 등(소프트웨어 측면에서).
이는 시스템의 MTBF를 크게 제한하게 됩니다.
MTBF를 향상시키는 방법은 매우 직관적입니다. 바로 백업입니다. 두 번째 단일 실패 지점을 제거하려면 백업 구성 요소도 지리적으로 분산되어야 합니다. 이 경우 한 위치의 연결이 끊기거나 정전이 발생하더라도 다른 위치의 시스템은 계속 작동할 수 있습니다. 지진, 홍수 등의 자연재해와 기타 요인을 고려하면 백업 구성 요소를 다른 도시와 국가에 배치해야 할 수도 있습니다.
둘째, 백업이 있더라도 여전히 시스템 충돌 가능성이 있기 때문에 시스템 충돌 후 시스템 기능을 빠르게 복원하는 것, 즉 장애 복구 시간을 단축하는 것도 고려해야 합니다. 이를 위해서는 오류 대응 시간을 단축하고 시스템 상태 등을 합리적으로 저장해야 하는데 이에 대해서는 다시 자세히 설명하지 않습니다.
따라서 로드 밸런싱은 시스템의 일부(서버 핫 백업 형태)의 가용성만 향상시킬 수 있습니다. 시스템의 가용성을 향상시키기 위해서는 다른 요소도 고려해야 합니다.