고가용성 및 재해 복구 개요

HA(고가용성)는 IQ Bot 서비스, 서버 또는 데이터베이스에 장애가 발생할 경우 페일오버 솔루션을 제공합니다. DR(재해 복구)은 전체 데이터 센터에 장애를 일으키는 재해가 발생할 경우 지리적으로 분리된 거리에 걸쳐 복구 솔루션을 제공합니다.

IQ Bot HA 및 DR 솔루션

의 맥락에서 HA(고가용성) 및 DR(재해 복구)을 IQ Bot구현하면 다운타임이 줄어들고 bot 활동에 대한 비즈니스 연속성(CoB)이 유지됩니다.

  • 고가용성(HA)—고가용성은 특정 장애 시나리오로부터 시스템을 보호하려고 시도하는 아키텍처 시스템 설계입니다. 즉, 시스템의 일부에 장애가 발생하더라도 전체로서 사용 가능하고 사용할 수 있습니다. 고가용성 솔루션은 일반적으로 서버 장애, 단일 구성 요소 장애, 종속성 장애, 가변 부하 증가 및 네트워크에서 도달할 수 없는 시스템 구성 요소에 종속되는 네트워크 분할과 같은 특정 시나리오로부터 보호합니다.
  • 재해 복구(DR)—재해 복구는 자연 재해 또는 인적 재해가 발생한 후 필수 인프라 및 시스템의 복구 또는 지속을 가능하게 하는 일련의 정책 및 절차를 포함합니다. 재해 복구는 고가용성이 일반적으로 예측 가능한 소수의 장애 원인인 시스템에서 여러 가지 다양한 장애 원인을 해결합니다. 재해 복구는 단순히 장애 조치(failover)가 아닌, 사고 발생 후 서비스를 재설정하는 데 중점을 둡니다. 시스템 복구에는 서비스 또는 시스템 재시작, 백업에서 구성 파일 또는 데이터베이스 복구와 같은 시나리오가 포함됩니다.
IQ Bot 구성 요소의 HA 및 DR 보호를 보장하려면 IQ Bot 서버와 서비스를 포함하도록 기존 HA 및 DR 인프라스트럭처, 로드 밸런싱 및 페일오버 시스템을 구성합니다. 승인된 로컬 HA 및 DR 절차에 대해서는 데이터 센터 관리자에게 문의하십시오.

필요한 HA 및 DR 인프라 요소

  • 분산 방식 - IQ Bot 관련 데이터 센터 구성 요소를 클러스터링하는 것 외에도 IQ Bot 여러 물리적 서버 및/또는 가상 서버에 구축하는 것이 좋습니다.
  • 부하 분산—로드 밸런서에서 수행하는 이 프로세스는 서비스 활동을 보호하고 워크로드를 여러 서버에 분산할 수 있도록 여러 서버에 걸쳐 애플리케이션 또는 네트워크 트래픽을 분산하는 프로세스입니다. 이렇게 하면 클러스터 서버에서 bot 작업이 계속됩니다.

  • 데이터베이스—데이터베이스는 자체의 기본 제공 페일오버를 사용하여 데이터를 보호합니다. 이렇게 하면 데이터베이스 데이터 복구가 보장됩니다.

    • HA 클러스터 간에 데이터 센터의 기본(활성) 클러스터 MS SQL Server와 보조(수동) 클러스터 MS SQL Server 간에 동기식 복제를 구성합니다. 따라서 데이터베이스 노드에 장애가 발생할 경우 정합성이 보장됩니다.

      필요한 HA 동기식 복제의 경우 다음 중 하나를 구성합니다.

      • SQL Server 항상 켜짐 가용성 그룹의 동기식 커밋 모드로 복제본 백업
      • SQL-서버 데이터베이스 미러링
    • 재해 복구 사이트 간에 운영 재해 복구 사이트에서 운영 재해 복구 사이트와 지리적으로 분리된 위치에 있는 보조 재해 복구 사이트로 비동기식 복제를 제공하도록 데이터베이스를 구성합니다.

샘플 시나리오

동일한 클러스터 내의 모든 IQ Bot 인스턴스를 동일한 데이터베이스 및 리포지토리 파일에 지정합니다. 여러 서버에서 데이터를 공유하고 클러스터 IQ Bot내의 서버에서 데이터 무결성을 유지하기 위해 필요합니다.

HA 및 DR 배포 모델

IQ Bot 을 HA 및/또는 DR로 보호하려면 에 설명된 구축 모델에 따라 데이터 센터를 구성합니다.

HA 구현 요구 사항

  • 여러 IQ Bot 서버에 를 설치합니다.
  • 에 대한 액세스IQ Bot는 로드 밸런서를 통해 이루어집니다.
  • RabbitMQ 서버 간 IQ Bot 동기화 포트를 엽니다.
  • 고가용성 Microsoft SQL Server 모드에서 을 구성합니다.

설치 HA 및 DR 구성 요구 사항

  • IQ Bot 설치 관리자는 클러스터 설치를 직접 지원하지 않습니다. 클러스터를 설정하려면 다음을 수행하십시오.
    • 각 응용 프로그램 서버 노드에서 설치 관리자를 실행합니다.
    • 모든 사람 액세스 역할을 사용하여 출력 폴더를 공유합니다.
    • 설치 후 적절한 명령줄 인수를 사용하여 messagequeue_cluster_configuration.bat를 실행합니다.
  • 고가용성 IQ Bot 구성으로 구성합니다.
  • 열린 방화벽 포트: 4369 및 25672.
  • 클러스터의 모든 RabbitMQ 노드IQ Bot에 를 설치합니다.

    IQ Bot 가 설치된 첫 번째 노드가 기본 RabbitMQ 노드가 됩니다. 기본 노드의 호스트 이름은 RabbitMQ 클러스터를 구성하는 데 사용됩니다.

  • 모든 IQ Bot 서버 노드에 트래픽을 분산하려면 로드 밸런서가 필요합니다.
  • 고가용성Microsoft SQL Server을 위해 를 구성합니다. Microsoft SQL Server 항상 켜기 옵션을 사용합니다.
  • RabbitMQ 구체적인 설치 방법은 RabbitMQ 설명서를 참조하십시오.

HA 및 DR의 알려진 한계

  • IQ Bot 인스턴스의 가용성을 검색하기 위해 로드 밸런서는 주기적으로 핑을 보내거나 연결을 시도하거나 IQ Bot 인스턴스를 테스트하기 위한 요청을 보냅니다. 이러한 검사를 건강 검진이라고 합니다.
  • 상태 점검은 RabbitMQ 인스턴스의 가용성을 확인하지 않습니다.