0

Das Szenario ist, dass wir eine Service Fabric-Anwendung in der Produktion haben, die Stateful-Dienste verwendet. Es ist etwas Schlimmes passiert, das den Zustand des Systems inkonsistent gemacht hat. Wir müssen das Problem beheben, das den beschädigten Zustand verursacht hat, aber wir müssen den Zustand sehr schnell beheben.Servce Fabric Stateful Services - Wiederherstellen von Korruption

Es gibt ein paar Probleme hier, um die Ich mag würde Völker Ansichten hören:

  1. Wie stellen wir die Daten in die Dienste? Sollten wir irgendeine Art von "Dump Data" -Funktionen implementieren, damit wir verstehen, was passiert ist? Selbst mit einem Debugger ist es schwierig, die Daten in den Diensten zu sehen.

  2. Sobald wir festgestellt haben, welche Daten beschädigt wurden, sollten wir sie schnell beheben, um unsere Kunden wieder zum Laufen zu bringen. Vielleicht möchten wir dies tun, bevor wir die Ursache des Problems herausgefunden haben. Ich nehme an, wir müssen eine neue Version aller betroffenen Dienste mit einem speziellen Einmal-Code bereitstellen, um die Korruption zu beheben. Irgendwelche anderen Vorschläge?

Antwort

0
  1. Zur Visualisierung können Sie die Daten auskippen, einige Visualisierung UI in den Dienst aufzubauen, oder eine separate Visualisierung Service bauen, die von anderen Diensten zieht. Unter der Annahme, dass Sie die Daten an einen externen Speicher für disaster recovery weiterleiten, können Sie auch durch diesen Speicher visualisieren. Nichtsdestoweniger möchten wir in Zukunft Tools bereitstellen, mit denen Sie den Status Ihrer Services visualisieren können.

  2. Ihr primärer Schutz gegen Datenbeschädigung ist backup and restore. Wenn Sie sich in einem fehlerhaften Zustand befinden, erstellen Sie eine neue Instanz des Diensts und stellen einen zuletzt bekannten guten Datensatz wieder her.