1

Unser Uber-Service besteht aus mehreren Diensten, die auf separaten Rechnern laufen. Um sicherzustellen, dass die Dienste fehlerfrei und erreichbar sind, senden andere Computer regelmäßig eine "Ping" -Anfrage an die Dienste. Das Timeout für den Ping zu bestimmen ist schwierig, wir wollen nicht zu lange warten (Fail-Fast-Ansatz), aber wir wollen auch nicht zu schnell ausfallen (da, wenn die Last hoch ist, können Pings in die Warteschlange gestellt werden Server- und Zeitüberschreitungen können auftreten, die dazu führen können, dass Failover eine Kaskade auslösen). Wir haben auch festgestellt, dass Pings das Netzwerk verstopfen können. Ich frage mich, ob es eine Alternative zum Ping gibt (möglicherweise eine offene TCP-Verbindung zu halten?), Die besser das Szenario der Maschine identifizieren kann, die ungesund/unerreichbar wird?Alternative zum Ping zum Ermitteln gesunder Maschinen

Antwort

1

Klatschprotokolle können Ihren Gesundheitsverkehr erheblich reduzieren, und sie konvergieren ziemlich schnell.

Könnten Sie ein Gesundheitssystem zusätzlich zu Klatsch aufbauen?

Als Alternative könnten Ihre Service-Hosts Heartbeats an einen zentralen Service senden, und dieser Service könnte der Standard für den Systemzustand sein. Zookeeper ephemere Einträge könnten die Rechnung oder ein ähnliches System passen.