
Ich habe ein Setup, bei dem Server A als Client fungiert und über HAProxy mit Server B kommuniziert. Auf Server B laufen vier ähnliche Golang Fiber-Instanzen, jede mit aktiviertem Prefork auf einer EC2 t3xlarge-Instanz. Server B verarbeitet Tausende von Anfragen pro Sekunde. Allerdings sind mir Probleme mit Integritätsprüfungen und von HAProxy zurückgegebenen 502-Fehlern aufgefallen, die wahrscheinlich auf fehlgeschlagene Integritätsprüfungen hinweisen.
Frontend-Konfiguration:
frontend apifront
bind *:9898
maxconn 50000
mode http
log global
default_backend apiserver
Backend-Konfiguration:
backend apiserver
mode http
option http-keep-alive
timeout connect 5s
timeout server 30s
timeout queue 60s
timeout check 5s
timeout http-request 10s
timeout http-keep-alive 10s
http-reuse safe
log global
option httpchk GET /health
balance roundrobin
server apiserver1 localhost:9881 check
server apiserver2 localhost:9882 check
server apiserver3 localhost:9883 check
server apiserver4 localhost:9884 check
Beobachtungen:
- Alle Server schlagen bei Integritätsprüfungen häufiger fehl als erwartet.
- Häufig werden von HAProxy 502-Fehler zurückgegeben, wie in den Protokollen von Server A zu sehen ist.
Fragen:
- Ist das beobachtete Verhalten häufiger Integritätsprüfungsfehler und 502-Fehler bei dieser Konfiguration zu erwarten?
- Gibt es Möglichkeiten zur Fehlerbehebung und Ermittlung der Grundursache für die fehlgeschlagenen Integritätsprüfungen?
- Welche Anpassungen oder Feinabstimmungen können vorgenommen werden, um die Zuverlässigkeit der Integritätsprüfungen zu verbessern und 502-Fehler zu reduzieren?
- Gibt es bewährte Methoden oder zusätzliche Prüfungen, die ich als Neuling in der Server-Setup-Konfiguration berücksichtigen sollte?
Ich wäre für alle Erkenntnisse oder Hinweise zur Lösung dieses Problems sehr dankbar. Ich bin auch bereit, weitere Details zu meinem Setup bereitzustellen, die hilfreich sind. Vielen Dank!