Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Rollback zu einer früheren KCL-Version
In diesem Thema werden die Schritte erläutert, mit denen Sie Ihren Kunden auf die vorherige Version zurücksetzen können. Wenn Sie ein Rollback durchführen müssen, erfolgt dies in zwei Schritten:
-
Führen Sie das KCL Migration Tool
aus. -
Stellen Sie den Code der vorherigen KCL-Version erneut bereit (optional).
Schritt 1: Ausführen des KCL Migration Tools
Wenn Sie zur vorherigen KCL-Version zurückkehren möchten, müssen Sie das KCL Migration Tool ausführen. Das KCL-Migrationstool erfüllt zwei wichtige Aufgaben:
-
Es entfernt die Metadatentabelle für Worker-Metriken und den globalen sekundären Index aus der Leasetabelle in DynamoDB. Diese beiden Artefakte wurden von KCL 3.x erstellt, werden aber nicht benötigt, wenn Sie zur vorherigen Version zurückkehren.
Dadurch werden alle Worker in einem mit KCL 2.x kompatiblen Modus ausgeführt und beginnen, den Load-Balancing-Algorithmus zu verwenden, der in früheren KCL-Versionen verwendet wurde. Eventuelle Probleme mit dem neuen Load-Balancing-Algorithmus in KCL 3.x werden dadurch sofort behoben.
Wichtig
Die Koordinatorstatustabelle in DynamoDB muss vorhanden sein und darf während des Migrations-, Rollback- und Rollforward-Prozesses nicht gelöscht werden.
Anmerkung
Es ist wichtig, dass alle Worker in Ihrer Verbraucheranwendung zu einem bestimmten Zeitpunkt denselben Load-Balancing-Algorithmus verwenden. Das KCL-Migrationstool stellt sicher, dass alle Worker in Ihrer KCL 3.x-Consumer-Anwendung in den KCL 2.x-kompatiblen Modus wechseln, sodass alle Mitarbeiter während der Rückzahlung auf Ihre vorherige KCL-Version denselben Load-Balancing-Algorithmus verwenden.
Sie können das KCL-Migrationstool im Skriptverzeichnis des KCL-Repositorys
python3 ./KclMigrationTool.py --region <region> --mode rollback [--application_name <applicationName>] [--lease_table_name <leaseTableName>] [--coordinator_state_table_name <coordinatorStateTableName>] [--worker_metrics_table_name <workerMetricsTableName>]
Parameter
-
--region: Ersetze es
<region>durch dein. AWS-Region -
--application_name: Dieser Parameter ist erforderlich, wenn Sie Standardnamen für Ihre DynamoDB-Metadatentabellen (Leasetabelle, Koordinatorstatustabelle und Worker-Metriktabelle) verwenden. Wenn Sie benutzerdefinierte Namen für diese Tabellen festgelegt haben, können Sie diesen Parameter weglassen. Ersetzen Sie es durch Ihren
<applicationName>tatsächlichen KCL-Anwendungsnamen. Das Tool verwendet diesen Namen, um die Standardtabellennamen abzuleiten, wenn keine benutzerdefinierten Namen angegeben werden. -
--lease_table_name (optional): Dieser Parameter wird benötigt, wenn Sie in Ihrer KCL-Konfiguration einen benutzerdefinierten Namen für die Leasetabelle festgelegt haben. Wenn Sie den Standardtabellennamen verwenden, können Sie diesen Parameter weglassen.
leaseTableNameErsetzen Sie ihn durch den benutzerdefinierten Tabellennamen, den Sie für Ihre Leasingtabelle angegeben haben. -
--coordinator_state_table_name (optional): Dieser Parameter wird benötigt, wenn Sie in Ihrer KCL-Konfiguration einen benutzerdefinierten Namen für die Koordinatorstatentabelle festgelegt haben. Wenn Sie den Standardtabellennamen verwenden, können Sie diesen Parameter weglassen. Ersetzen Sie ihn durch den benutzerdefinierten
<coordinatorStateTableName>Tabellennamen, den Sie für Ihre Koordinatorstatustabelle angegeben haben. -
--worker_metrics_table_name (optional): Dieser Parameter wird benötigt, wenn Sie in Ihrer KCL-Konfiguration einen benutzerdefinierten Namen für die Tabelle mit den Worker-Metriken festgelegt haben. Wenn Sie den Standardtabellennamen verwenden, können Sie diesen Parameter weglassen. Ersetzen Sie ihn durch den benutzerdefinierten
<workerMetricsTableName>Tabellennamen, den Sie für Ihre Worker-Metriktabelle angegeben haben.
Schritt 2: Stellen Sie den Code erneut mit der vorherigen KCL-Version bereit (optional)
Nachdem das KCL Migration Tool den Rollback ausgeführt hat, wird eine der folgenden Meldungen angezeigt:
-
Meldung 1: „Rollback abgeschlossen. In Ihrer KCL-Anwendung wurde der KCL 2.x-kompatible Modus ausgeführt. Wenn Sie keine Abmilderung der Regression sehen, kehren Sie bitte zu Ihren vorherigen Anwendungsbinärdateien zurück, indem Sie den Code mit Ihrer vorherigen KCL-Version bereitstellen.“
-
Erforderliche Maßnahme: Das bedeutet, dass Ihre Mitarbeiter im KCL 2.x-kompatiblen Modus gearbeitet haben. Wenn das Problem weiterhin besteht, stellen Sie den Code mit der vorherigen KCL-Version erneut für Ihre Mitarbeiter bereit.
-
-
Meldung 2: „Rollback abgeschlossen. In Ihrer KCL-Anwendung wurde der KCL 3.x-Funktionsmodus ausgeführt. Ein Rollback zu den vorherigen Anwendungsbinärdateien ist nicht erforderlich, es sei denn, Sie sehen innerhalb von 5 Minuten keine Lösung für das Problem. Wenn Sie immer noch ein Problem haben, führen Sie bitte ein Rollback zu Ihren vorherigen Anwendungsbinärdateien durch, indem Sie den Code mit Ihrer vorherigen KCL-Version bereitstellen.“
-
Erforderliche Maßnahme: Das bedeutet, dass Ihre Worker im KCL 3.x-Modus liefen und das KCL-Migrationstool alle Worker in den KCL 2.x-kompatiblen Modus umgestellt hat. Wenn das Problem behoben ist, müssen Sie den Code nicht erneut mit der vorherigen KCL-Version bereitstellen. Wenn das Problem weiterhin besteht, stellen Sie den Code mit der vorherigen KCL-Version erneut für Ihre Mitarbeiter bereit.
-