Azure 역할 내 캐시의 고가용성

중요

모든 새 개발에서는 Azure Redis Cache를 사용하는 것이 좋습니다. Azure Cache 제품을 선택하는 방법에 대한 현재 설명서 및 지침 은 나에게 적합한 Azure Cache 제품을 참조하세요.

In-Role Cache를 사용하면 캐시된 개체의 고가용성을 유지할 수 있습니다. Azure 역할 속성을 사용하여 이 기능이 필요한 각 캐시에 대해 고가용성을 사용하도록 설정합니다. 코드를 변경할 필요 없이 작업에 필요한 메모리 용량을 다시 계산하기만 하면 됩니다. 그러려면 용량 계획 스프레드시트에서 고가용성 설정을 켜면 됩니다. 자세한 내용은 Azure In-Role Cache에 대한 용량 계획 고려 사항을 참조하세요.

고가용성을 사용하면 캐시된 개체가 하드웨어 장애 시에도 복구할 수 있도록 동일한 클라우드 서비스 배포 내에서 복제됩니다. 보조 복사본은 다른 장애 도메인 및 업그레이드 도메인에 배치되어 가용성을 높일 수 있습니다. 캐시 클러스터의 가상 컴퓨터 중 하나가 작동이 중단된 경우 캐시 클러스터에서 보조 복사본을 사용하여 데이터 손실을 방지할 수 있습니다.

Architecture

고가용성을 사용하려면 연결된 역할의 인스턴스가 여러 개 필요합니다. 캐시된 항목의 보조 복사본은 다른 장애 도메인 및 업그레이드 도메인에 속하는 별도의 인스턴스에서 유지 관리됩니다. 따라서 인스턴스 하나가 작동을 중단해도 다른 인스턴스에 백업 복사본이 있습니다. 이 시나리오에서는 보조 복사본이 주 복사본으로 승격됩니다. 그러면 나머지 인스턴스 중 하나에 새 보조 복사본이 만들어져 고가용성을 유지할 수 있습니다.

고가용성을 구현하려면 모든 캐시가 주 복사본과 보조 복사본 둘 다에 기록되어야 합니다.

참고

고가용성이 사용하지 않도록 설정된 경우에도 캐시 클러스터는 계획된 종료(예: 다시 부팅) 중에 데이터를 보존합니다. 이 시나리오에서 캐시 클러스터는 종료 전에 캐시된 항목을 다른 서버에 전송합니다. 그러나 전송할 데이터의 양에 따라 이 정상 종료가 완료되지 않을 수도 있습니다. 또한 고가용성과 달리 예기치 않은 종료 중에 데이터가 보존되지 않습니다.

고려 사항

In-Role 캐시를 호스트하는 역할은 4개 이상의 인스턴스에서 실행되도록 구성되어야 합니다. 두세 개의 인스턴스에서 실행되도록 구성된 역할에서 고가용성을 사용하도록 설정할 수 있지만 이는 다음 두 가지 이유로 권장되지 않습니다.

  • Azure는 일상적인 유지 관리를 위해 가상 머신을 다시 부팅하는 경우가 있습니다. 응용 프로그램의 내부 업데이트가 진행되는 동안에도 가상 시스템이 오프라인 상태가 됩니다. 두 시나리오에서 모두 캐시 클러스터에 3개 이상의 서버가 있는 것이 좋습니다. 서버 하나가 작동을 중단해도 캐시 클러스터에는 캐시된 개체의 주 복사본과 보조 복사본을 만들 서버가 아직 3개 더 남아 있게 됩니다. 실행 중인 서버가 하나뿐이어도 캐시에 여전히 액세스할 수 있지만 고가용성은 사용할 수 없습니다.

  • 3개의 서버가 위 요구 사항을 충족하는 경우에도 서버 4개를 사용하는 것이 좋습니다. 그러면 오류가 있는 도메인에서 주 복사본이 보다 균등하게 배포되기 때문입니다. 이 경우 캐시 클러스터의 데이터 배포가 향상되어 네트워크 트래픽 패턴 및 성능이 개선됩니다.

인스턴스를 사용할 수 없는 경우 단기간 보조 복사본이 주 복사본으로 승격되고 라우팅 정보가 업데이트됩니다. 이 시간 동안 클라이언트는 RetryLaterErrorCode를 사용하여 DataCacheException 예외를 받습니다. In-Role 캐시 애플리케이션은 정상적인 오류 처리 및 재시도 논리를 사용하여 이 조건에 올바르게 대응해야 합니다.

모든 쓰기가 주 복사본과 보조 복사본 둘 다에 실행되기 때문에 고가용성은 대기 시간을 늘리고 처리량을 줄입니다. 이는 고가용성에서 얻을 수 있는 캐시에 대한 합당한 절충일 수 있습니다.

중요

정의에서 알 수 있듯이, 고가용성을 사용하면 캐시된 각 항목에 필요한 메모리 양의 두 배가 필요합니다. 용량 계획을 세우는 동안 이러한 메모리 문제를 고려하십시오. 자세한 내용은 Azure In-Role Cache에 대한 용량 계획 고려 사항을 참조하세요.

고가용성을 사용하도록 설정하려면

  1. In-Role 캐시가 활성화된 역할을 두 번 클릭합니다.

  2. 구성 탭에서 인스턴스 수4개 이상인지 확인합니다.

  3. 캐싱 탭에서 고가용성이 필요한 캐시에 대해 고가용성 확인란을 선택합니다. 다음 스크린샷에서는 세 개 중 두 개의 캐시에 대해 사용하도록 설정된 고가용성을 보여 줍니다.

    Caching Backup Copies

참고 항목

개념

Azure 캐시의 역할 내 캐시 기능