Auslösen von Updates für alle Serverfarminstanzen

Auslösen von Updates für alle Serverfarminstanzen

Unsere Webserver (IIS 10) nutzen eine gemeinsame Datenbank (SQL Server 2016). Sie rufen in regelmäßigen Abständen einige Daten aus der Datenbank ab. Wenn einer der Webserver eine Anfrage verarbeitet, die zu einer Änderung dieser Daten führt, aktualisiert er die Datenbank und seine eigenen Daten. Die anderen Webserverinstanzen wissen jedoch nichts von dieser Datenänderung und verfügen daher bis zur nächsten Abfrage über alte Daten.

Wie sollten wir die anderen Webserverinstanzen anweisen, ihre Daten sofort zu aktualisieren?


Beispiel:

  • Die Datenbanktabelle tblUserRoles speichert alle Rollen für alle Benutzer.
  • Webserver fragen diese Liste einmal täglich ab.
  • Wenn der Administrator einem Benutzer die Rechte entzieht, weiß der Webserver, der die Anfrage verarbeitet, dass er die Datenbank und seine eigene UserRoleList sofort aktualisieren muss.
  • Aber woher wissen die anderen Webserver, dass sie ihre UserRoleList aktualisieren müssen?

Mögliche Lösung:

  • Ein interner Dienst verwaltet eine Liste aller aktiven Webserverinstanzen.
  • Wenn ein Webserver [A] eine Anfrage verarbeitet, die die Daten ändert, aktualisiert er die Datenbank, aktualisiert seine eigene Datenliste und fordert die aktive Serverliste [BZ] an.
  • Webserver A ruft die Datenlistenaktualisierung für Server BZ auf, indem er jeden von ihnen über eine interne URL aufruft (z. B. /internal/update-user-roles).
  • Die Server BZ aktualisieren ihre Daten nun durch Abfragen von Daten aus der Datenbank.

verwandte Informationen