アプリケーションは、ディザスタリカバリまたはトラフィックの地理的な負荷分散のために複数のデータセンターに展開される場合があります。 アプリケーションのトラフィックが多い場合は、分散キャッシュを使用する必要があります。 このような状況では、災害時にデータの高可用性を実現するために、分散キャッシュがWANレプリケーションを実行できることを確認する必要があります。
NCache 分散キャッシュのWANレプリケーションを処理するためのブリッジを提供します。 分散データセンター間のブリッジを形成し、データの非同期レプリケーションを実行するため、パフォーマンスが低下することはありません。 さらに、ブリッジ自体は、高可用性を目的としたXNUMX台のサーバーのクラスターです。
主にディザスタリカバリの目的で、XNUMXつのアクティブデータセンターとXNUMXつのパッシブデータセンターがある場合があります。 この構成では、XNUMXつのアクティブサイトにブリッジとキャッシュが含まれ、パッシブサイトにはキャッシュのみが含まれます。 アクティブサイトは、ブリッジを介してパッシブサイトにデータを非同期的に複製します。パッシブサイトは、災害時のバックアップとして機能します。
地域の負荷分散と暗黙のディザスタリカバリの目的を組み合わせたXNUMXつのアクティブなデータセンターがある場合があります。 アクティブ-パッシブ構成と同様に、アクティブサイトのXNUMXつにはブリッジとキャッシュが含まれ、もうXNUMXつにはキャッシュのみが含まれます。 ただし、この場合の違いは、両方のサイトがアクティブにクライアント操作を提供しているため、両方のサイトが互いにデータを複製することです。
前述の構成とは別に、 NCache また、XNUMXつ以上のデータセンターの処理も提供します。 この場合、サイトのXNUMXつはブリッジサイトであり、ブリッジとキャッシュが含まれています。 他のサイトにはキャッシュのみが含まれています。 すべての非ブリッジサイトはブリッジサイトに接続されているため、データはすべてのサイトに同時に複製されます。 これらのサイトのいずれかにバックアップブリッジを作成して、ブリッジサイトがダウンした場合の高可用性を確保することもできます。 この構成の詳細については、ブログにアクセスしてください。 マルチデータセンター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 前述の各データセンター構成で災害状況をシームレスに処理します。