Wiederholungen vor Benachrichtigung
Wiederholungen vor Benachrichtigung
Was sind Wiederholungen?
Wiederholungen führen eine fehlgeschlagene Prüfung erneut aus, bevor wir Sie benachrichtigen. Eine einzelne fehlgeschlagene Anfrage ist nicht immer ein echter Ausfall: eine kurze Netzwerkstörung, ein langsamer Kaltstart oder ein einmaliges Timeout können eine Prüfung scheitern lassen, obwohl Ihre API gesund ist. Mit Wiederholungen bestätigen Sie, dass ein Fehler echt ist, bevor jemand alarmiert wird.
Wiederholungen finden nur statt, wenn eine Prüfung fehlschlägt. Eine erfolgreiche Prüfung wird nie wiederholt, die Einstellung kostet Sie also nichts, solange alles gesund ist.
Warum Wiederholungen verwenden?
Der Hauptgrund ist Alarmrauschen. Ohne Wiederholungen wird jede kurze Störung zu einer Benachrichtigung, und Benachrichtigungen, die meistens falsch sind, werden ignoriert. Mit Wiederholungen hören Sie nur von Fehlern, die mehrere Versuche überstanden haben.
Setzen Sie Wiederholungen auf 0, um die Funktion abzuschalten. Sie ist standardmäßig deaktiviert.
Die Einstellungen
| Einstellung | Bereich | Standard | Funktion |
|---|---|---|---|
| Wiederholungen | 0 bis 5 | 0 (aus) | Wie viele zusätzliche Versuche nach dem ersten Fehler erfolgen |
| Intervall (s) | 1 bis 60 | 10 | Die Basiswartezeit zwischen den Versuchen |
| Backoff | Fest, Linear, Exponentiell | Fest | Wie die Wartezeit mit jedem Versuch wächst |
| Region | Gleiche Region, Andere Region | Gleiche Region | Wo die Wiederholung ausgeführt wird |
| Maximale Wiederholungszeit (s) | 1 bis 300 | 60 | Ein Gesamtzeitbudget für die gesamte Wiederholungsfolge |
Wie Backoff funktioniert
Backoff bestimmt, wie lange wir vor jeder Wiederholung warten, ausgehend von Ihrem Intervall. Bei einem Intervall von 10 Sekunden:
| Versuch | Fest | Linear | Exponentiell |
|---|---|---|---|
| 1. Wiederholung | 10s | 10s | 10s |
| 2. Wiederholung | 10s | 20s | 20s |
| 3. Wiederholung | 10s | 30s | 40s |
- Fest wartet jedes Mal dasselbe Intervall. Verwenden Sie es, wenn Sie erwarten, dass sich ein Fehler schnell erledigt.
- Linear lässt die Wartezeit gleichmäßig wachsen. Ein sinnvoller Mittelweg.
- Exponentiell verdoppelt die Wartezeit jedes Mal. Verwenden Sie es, wenn ein überlasteter Dienst Zeit zur Erholung braucht und Ihre Wiederholungen die Last nicht weiter erhöhen sollen.
Maximale Wiederholungszeit
Die maximale Wiederholungszeit ist ein Budget für die gesamte Folge, gemessen ab dem Beginn des ersten Versuchs. Vor jeder Wartezeit prüfen wir, ob diese Wartezeit die Folge über das Budget hinaus verlängern würde. Wenn ja, brechen wir ab und melden den letzten Fehler.
Das bedeutet, dass das Budget Ihre Wiederholungen beenden kann, bevor alle verbraucht sind, und das ist beabsichtigt. Beispiel: Bei einem Intervall von 10 Sekunden, exponentiellem Backoff, 3 Wiederholungen und einem Budget von 60 Sekunden bräuchte die dritte Wiederholung eine Wartezeit von 40 Sekunden zusätzlich zu den bereits verbrauchten rund 30 Sekunden. Das überschreitet das Budget, also endet die Prüfung nach der zweiten Wiederholung.
Wenn alle Ihre Wiederholungen laufen sollen, achten Sie darauf, dass das Budget größer ist als die Summe der obigen Wartezeiten.
Was aufgezeichnet wird
Nur der letzte Versuch wird als Ergebnis der Prüfung gespeichert. Genau das macht Wiederholungen nützlich:
- Schlägt fehl, besteht dann bei einer Wiederholung: Die Prüfung wird als erfolgreich aufgezeichnet und es wird keine Benachrichtigung gesendet. Die Störung erreicht Sie nie.
- Schlägt bei jedem Versuch fehl: Die Prüfung wird als fehlgeschlagen aufgezeichnet und Ihre Benachrichtigungskanäle werden wie gewohnt ausgelöst.
Da nur das Endergebnis gespeichert wird, verfälschen Wiederholungen Ihre Verfügbarkeitswerte nicht mit kurzen Störungen.
Region
Gleiche Region wiederholt von demselben Standort aus, an dem der Fehler auftrat. Andere Region ist dafür vorgesehen, einen Fehler von einem zweiten Standort aus zu bestätigen. In der aktuellen Version wiederholt "Andere Region" weiterhin in derselben Region.
Praktische Anwendungsfälle
- Öffentliche APIs über das Internet: 1 bis 2 Wiederholungen mit festem Backoff und kurzem Intervall filtern übliches Netzwerkrauschen heraus.
- Dienste mit Kaltstart: Verwenden Sie lineares oder exponentielles Backoff, damit eine langsame erste Antwort Zeit zum Aufwärmen hat.
- Ein Dienst unter Last: Verwenden Sie exponentielles Backoff, damit Ihre Wiederholungen ihm Luft lassen, statt Druck aufzubauen.
- Kritische Prüfungen, die sofort alarmieren müssen: Lassen Sie Wiederholungen auf
0, damit ein einzelner Fehler sofort benachrichtigt.
Ein Hinweis zur Häufigkeit
Halten Sie Ihr Wiederholungsbudget unter Ihrer Prüfungs-Häufigkeit. Wenn eine Prüfung jede Minute läuft und Ihre Wiederholungen bis zu 300 Sekunden dauern können, würde eine fehlschlagende Prüfung noch wiederholt werden, wenn der nächste Lauf fällig ist.