Ihre Anwendung kann entweder für die Notfallwiederherstellung oder für den geografischen Lastausgleich des Datenverkehrs in mehreren Rechenzentren bereitgestellt werden. Wenn Ihre Anwendung stark frequentiert ist, muss sie einen verteilten Cache verwenden. In diesen Situationen müssen Sie sicherstellen, dass Ihr verteilter Cache die WAN-Replikation durchführen kann, um im Katastrophenfall eine hohe Datenverfügbarkeit zu gewährleisten.
NCache stellt Bridge bereit, um die WAN-Replikation von verteilten Caches zu handhaben. Es bildet eine Brücke zwischen den verteilten Rechenzentren und führt eine asynchrone Replikation von Daten durch, sodass keine Leistungseinbußen auftreten. Darüber hinaus ist die Bridge selbst ein Cluster aus zwei Servern für Hochverfügbarkeitszwecke.
Möglicherweise haben Sie ein aktives und ein passives Rechenzentrum, hauptsächlich für Disaster-Recovery-Zwecke. In dieser Konfiguration enthält ein aktiver Standort die Brücke und die Caches, während der passive nur die Caches enthält. Der aktive Standort repliziert die Daten asynchron über die Brücke zum passiven Standort, der im Katastrophenfall als Backup dient.
Sie haben möglicherweise zwei aktive Rechenzentren für eine Kombination aus regionalem Lastenausgleich und einem impliziten Disaster-Recovery-Zweck. Einer der aktiven Standorte enthält die Brücke und die Caches, während einer nur die Caches enthält, ähnlich wie bei der Aktiv-Passiv-Konfiguration. Der Unterschied in diesem Fall besteht jedoch darin, dass beide Standorte Daten miteinander replizieren, da sie beide aktiv Client-Operationen bedienen.
Abgesehen von den oben genannten Konfigurationen NCache bietet auch die Handhabung von drei oder mehr Rechenzentren. In diesem Fall ist eine der Sites eine Brückensite, die die Brücke und die Caches enthält. Die anderen Seiten enthalten nur die Caches. Alle Nicht-Bridge-Sites sind mit der Bridge-Site verbunden, sodass Daten gleichzeitig an alle Sites repliziert werden. Sie können auf jeder dieser Sites auch eine Backup-Bridge erstellen, um eine hohe Verfügbarkeit sicherzustellen, falls die Bridge-Site ausfällt. Weitere Einzelheiten zu dieser Konfiguration finden Sie im Blog Grundlegendes zur Multi-Datacenter-WAN-Replikation.
Wenn Sie mehrere aktive Sites haben, besteht die Möglichkeit, dass dieselben Daten gleichzeitig auf jeder dieser Sites aktualisiert werden. Standardmäßig wird der Konflikt in aufgelöst NCache mit der „last-update-wins“-Logik. Sie können jedoch auch einen benutzerdefinierten Konfliktlösungshandler angeben, der den Konflikt löst, indem er die Daten basierend auf Ihrer Logik analysiert.
Das folgende Code-Snippet zeigt eine vereinfachte Implementierung des Konfliktlösers, der im Cache implementiert ist:
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() {. . .}
}
Weitere Einzelheiten zur Konfliktlösung finden Sie unter Dokumente zur Konfliktlösung.
Die Replikation über regional verteilte Rechenzentren kann aufgrund von Latenz zu Leistungseinbußen führen. Somit, NCache bridge führt eine asynchrone WAN-Replikation parallel über alle Rechenzentren hinweg durch, sodass Ihre Anwendung keine Ausfallzeiten erfährt, während sie auf die Replikation der Vorgänge wartet.
Darüber hinaus sendet die Bridge auch mehrere Datenelemente als eine einzige Massenanforderung an den anderen Standort, wodurch Netzwerkfahrten über das WAN drastisch reduziert werden. Als Add-On verfügt die Bridge auch über eine integrierte Replikation: Es handelt sich um einen 2-Knoten-Cluster, der sich selbst repliziert, sodass er selbst hochverfügbar ist. Näheres dazu auf NCache Bridge-Verhalten, auf das Sie sich beziehen können NCache Dokumente zur Brückenarchitektur.
NCache handhabt Katastrophensituationen in jeder der oben genannten Rechenzentrumskonfigurationen nahtlos.