Best Practices für die Verwendung von Pub/Sub-Messwerten als Skalierungssignal

Wenn Sie Pub/Sub-Messwerte als Signal für die automatische Skalierung haben, finden Sie hier einige Empfehlungen.

Mehr als ein Signal für das Autoscaling der Pipeline verwenden

Verwenden Sie zum Autoscaling der Pipeline nicht nur Pub/Sub-Messwerte. Es kann es zu Szenarien kommen, in denen es einen Single Point of Failure für Ihre Autoscaling-Entscheidungen. Verwenden Sie stattdessen eine Kombination von Signalen, Autoscaling. Ein Beispiel für ein zusätzliches Signal ist die CPU des Clients. Auslastungsstufe. Dieses Signal kann anzeigen, ob die Client-Aufgaben und ob das Hochskalieren den Clientaufgaben mehr Arbeit überlassen kann. Einige Beispiele für Signale von anderen Für Ihre Pipeline können Sie folgende Cloud-Produkte verwenden:

  • Compute Engine (GCE) unterstützt Autoscaling auf der Grundlage von Signalen wie CPU-Auslastung und Monitoring-Messwerte. Compute Engine unterstützt auch mehrere Messwerte und Signale. für bessere Zuverlässigkeit.

    Weitere Informationen zur Skalierung mit Monitoring-Messwerten finden Sie unter Basierend auf Monitoring-Messwerten skalieren. Weitere Informationen zur Skalierung mit CPU-Auslastung finden Sie unter Basierend auf der CPU-Auslastung skalieren.

  • Unterstützung für horizontales Pod-Autoscaling (HPA) der Google Kubernetes Engine (GKE) auf Basis der Ressourcennutzung wie CPU- und Arbeitsspeichernutzung, benutzerdefinierte Kubernetes-Messwerte und externe Messwerte wie Monitoring-Messwerte für Pub/Sub Außerdem werden mehrere Signale unterstützt.

    Weitere Informationen finden Sie unter Horizontales Pod-Autoscaling.

Mit Messwertlücken umgehen

Nicht davon ausgehen, dass das Fehlen von Messwerten bedeutet, dass keine Nachrichten . Wenn Sie beispielsweise als Reaktion auf fehlende Messwerte herunterskalieren Verarbeitungsaufgaben auf null setzen, Nachrichten, die sich bereits im Backlog befinden oder veröffentlicht werden während dieser Zeit möglicherweise nicht verbraucht werden. Dadurch wird die End-to-End-Latenz erhöht. Um die Latenz zu minimieren, legen Sie eine minimale Aufgabenanzahl größer als null fest, damit Sie immer auf veröffentlichte Nachrichten vorbereitet, auch wenn aktuelle Pub/Sub-Messwerte auf eine leere Warteschlange hinweisen.

Sowohl GCE-Autoscaling als auch GKE-HPAs sind darauf ausgelegt, den aktuellen Anzahl der Replikate, wenn Messwerte nicht verfügbar sind. Dies bietet ein Sicherheitsnetz, wenn Messwerte verfügbar sind.

Sie können auch Pub/Sub-Ablaufsteuerung damit Aufgaben nicht unbeabsichtigt überlastet werden. aufgrund fehlender Messwerte herunterskaliert werden.