재해 복구 또는 트래픽의 지리적 로드 밸런싱을 위해 애플리케이션을 여러 데이터 센터에 배포할 수 있습니다. 애플리케이션의 트래픽이 많은 경우 분산 캐시를 사용해야 합니다. 이러한 상황에서는 재해 발생 시 데이터의 고가용성을 위해 분산 캐시가 WAN 복제를 수행할 수 있는지 확인해야 합니다.
NCache 분산 캐시의 WAN 복제를 처리하는 Bridge를 제공합니다. 분산된 데이터 센터 사이에 브리지를 형성하고 데이터의 비동기식 복제를 수행하므로 성능 저하가 없습니다. 또한 브리지 자체는 고가용성을 위해 두 대의 서버로 구성된 클러스터입니다.
주로 재해 복구 목적으로 하나의 활성 데이터 센터와 하나의 수동 데이터 센터가 있을 수 있습니다. 이 구성에서 하나의 활성 사이트에는 브리지와 캐시가 포함되고 수동 사이트에는 캐시만 포함됩니다. 활성 사이트는 브리지를 통해 데이터를 수동 사이트에 비동기식으로 복제하여 재해 발생 시 백업 역할을 합니다.
지역 로드 밸런싱과 암시적 재해 복구 목적의 조합을 위해 두 개의 활성 데이터 센터가 있을 수 있습니다. 활성 사이트 중 하나는 브리지와 캐시를 포함하고 다른 하나는 활성-수동 구성과 유사하게 캐시만 포함합니다. 그러나 이 경우의 차이점은 두 사이트가 모두 클라이언트 작업을 적극적으로 제공하기 때문에 서로 데이터를 복제한다는 것입니다.
앞서 언급한 구성 외에도 NCache 또한 XNUMX개 이상의 데이터 센터를 처리합니다. 이 경우 사이트 중 하나는 브리지와 캐시를 포함하는 브리지 사이트입니다. 다른 사이트에는 캐시만 포함되어 있습니다. 모든 non-bridge 사이트는 bridge 사이트에 연결되어 데이터가 모든 사이트에 동시에 복제됩니다. 브리지 사이트가 다운될 경우 고가용성을 보장하기 위해 이러한 사이트 중 하나에 백업 브리지를 생성할 수도 있습니다. 이 구성에 대한 자세한 내용은 블로그를 참조하세요. 다중 데이터 센터 WAN 복제 이해.
여러 활성 사이트가 있는 경우 각 사이트에서 동일한 데이터가 동시에 업데이트될 수 있습니다. 기본적으로 충돌은 다음에서 해결됩니다. NCache "last-update-wins" 논리를 사용합니다. 그러나 논리를 기반으로 데이터를 분석하여 충돌을 해결하는 사용자 지정 충돌 해결 처리기를 지정할 수도 있습니다.
다음 코드 스니펫은 캐시에 구현된 충돌 해결 프로그램의 단순화된 구현을 보여줍니다.
public class Resolver : IBridgeConflictResolver
{
public void Init(System.Collections.IDictionary parameters) {. . .}
public ConflictResolution Resolve(ProviderBridgeItem oldEntry, ProviderBridgeItem newEntry)
{
var conflictResolution = new ConflictResolution();
switch (oldEntry.BridgeItemVersion)
{
case BridgeItemVersion.OLD: { /* Replace Item with New Entry */ }
break;
case BridgeItemVersion.LATEST: { /* Keep Old Entry */ }
break;
case BridgeItemVersion.SAME: { /* Your custom logic */ }
break;
}
return conflictResolution;
// Configure this implementation on cache
}
public void Dispose() {. . .}
}
충돌 해결에 대한 자세한 내용은 다음을 참조하십시오. 갈등 해결 문서.
지역적으로 분산된 데이터 센터 간의 복제는 대기 시간으로 인해 성능이 저하될 수 있습니다. 따라서, NCache 브리지는 모든 데이터 센터에서 비동기식 WAN 복제를 병렬로 수행하므로 작업이 복제되기를 기다리는 동안 애플리케이션이 다운타임을 겪지 않습니다.
또한 브리지는 여러 데이터 항목을 단일 대량 요청으로 다른 사이트에 전송하여 WAN을 통한 네트워크 트립을 크게 줄입니다. 추가 기능으로 브리지에는 복제 기능도 내장되어 있습니다. 자체 복제가 가능한 2노드 클러스터이므로 자체적으로 고가용성입니다. 에 대한 자세한 내용은 NCache 브리지 동작, 다음을 참조할 수 있습니다. NCache 브리지 아키텍처 문서.
NCache 앞서 언급한 각 데이터 센터 구성에서 재해 상황을 원활하게 처리합니다.