SQL Replication löscht keine CD-Caches auf dem Remote-Ziel

Sep 29 2020

Wir haben eine Multi-CD-Veröffentlichungssituation, bei der ich Hilfe gebrauchen kann.

Wir befinden uns in einer Azure PAAS-Situation. Der CM- und 1 CD-Server befinden sich in den USA. Wir haben auch einen CD-Server und eine SQL-Datenbank in China (mit Azure China / 21 Vianet). Aufgrund der Fehlertoleranz haben wir uns für die Replikation entschieden, um die Daten nach China zu verschieben. Daher richten wir in den USA ein Veröffentlichungsziel mit dem Namen web_china ein und können in dieser Datenbank veröffentlichen. Wir verwenden dann die Replikation, um die Daten aus den USA nach China zu kopieren.

Das Problem ist, dass die Replikation 5 Minuten dauern kann und das Publish: End: Remote-Ereignis zu diesem Zeitpunkt bereits vom China CD-Server verarbeitet wurde. Obwohl sich die Daten in der Datenbank web_china in China befinden, sind die Änderungen aufgrund von Caching (?) Nicht sichtbar. Wenn wir den Artikel ein zweites Mal veröffentlichen (da er sich bereits in China befindet), wird er auf der Website angezeigt.

Ich habe versucht, eine Aufgabe hinzuzufügen, die in China ausgeführt wird und den Cache regelmäßig löscht. Es löscht sowohl den HTML-Cache als auch den MVC-Cache und den Rendering-Parameter-Cache. Der Artikel ist jedoch auch nach dem Ausführen in China nicht sichtbar. Ich habe dann versucht, alle Caches zu löschen, aber das brachte die Site zum Erliegen.

Gibt es einen anderen Cache, den ich löschen sollte, damit die veröffentlichten Änderungen angezeigt werden?

Oder ist die bessere Idee, einfach auf Publishing Service umzusteigen, was ein viel fehlertoleranterer Prozess ist.

Antworten

MarkGibbons Oct 22 2020 at 16:48

Eine großartige, schnell unterstützte Methode wird hier mithilfe der Azure SQL Geo-Replikation dokumentiert . Die Idee ist:

  • Die Sitecore-Web-Datenbank wird in eine Geo-Replikationsgruppe eingeordnet
  • Sie benötigen eine neue "freigegebene" Datenbank, mit der alle Sitecore-Instanzen eine Verbindung herstellen - ausschließlich für die Tabellen "Ereigniswarteschlange", "Eigenschaften" und "Aufgaben".
  • Auf diese Weise werden Ihre Inhaltsdaten mit der Leistung von Azure SQL repliziert, aber das Löschen des Caches und andere Ereignisse können weiterhin auftreten.