Wir denken derzeit über eine Zielarchitektur für eine geografisch verteilte Anwendung nach.
Diese Anwendung verfolgt und plant die Bewegungen aller Materialeinheiten über verschiedene Produktionsstandorte hinweg.
Es wird zwei logische Einheiten geben:
- Der erste ist für die betriebliche / lokale Verwaltung eines bestimmten Geschäfts verantwortlich - es gibt so viele Instanzen dieser Entität wie es Geschäfte gibt
- Der zweite ist für das globale Management verantwortlich (z. B. Übertragung von Einheiten zwischen Filialen) und kommuniziert daher mit allen operativen / lokalen Einheiten
Hier ist das logische Diagramm der Anwendung:
Die Implementierung dieser Anwendung kann nicht direkt aus dem vorherigen Diagramm abgeleitet werden, da die folgenden Einschränkungen berücksichtigt werden müssen:
- Die Filialen befinden sich in verschiedenen Bereichen (normalerweise einige Filialen pro Bereich). Wenn der Bereich vorübergehend vom globalen Netzwerk isoliert ist, sollte das System für eine begrenzte Zeit funktionsfähig sein.
- Die operative Einheit erfordert, dass die globale Einheit arbeitet
Daher habe ich über eine neue Architektur nachgedacht, bei der identische Instanzen der globalen Entität (dieselben ausführbaren Dateien) mit synchronisierten Datenbanken für jeden Bereich erstellt werden:
Ich habe mich gefragt, ob bereits jemand die SQL Server-Replikation verwendet hat, um das gleiche Ziel zu erreichen.
Ist es der richtige Weg, um fortzufahren? Alle Empfehlungen / Warnungen sind willkommen!
Vielen Dank, Sébastien.
Antworten:
Die Replikation von einer Box auf Bereichsserver und die Replikation dieser Bereichsserver auf die Speicherserver in diesem Bereich ist einfach. Das Einrichten der Replikation für den Feed von zwei verschiedenen Bereichsservern zu jedem Speicherserver ist nicht wirklich möglich. Sie könnten es wahrscheinlich hacken, um zu funktionieren, aber es wäre nicht so einfach.
Sie sollten die Bereichsserver besser mit hoher Verfügbarkeit einrichten, damit die Wahrscheinlichkeit, dass der Bereichsserver offline geht, minimal ist.
quelle
Es hängt davon ab, wie viele Bereiche Sie haben. Wenn Sie viele davon haben, wird die Verwaltung der Datenbankreplikation zwischen diesen ein Albtraum.
Ich würde mein Bestes geben, um alle Daten an einem zentralen Ort mit jeder möglichen Hochverfügbarkeitsoption zu haben. Wenn dies nicht möglich ist, versuchen Sie es möglicherweise mit nur zwei oder drei globalen Servern und nicht mit einem pro Bereich.
quelle