Wir haben eine Reihe von Spring Boot-Anwendungen, die sich bei Consul registrieren (via Spring Cloud Consul). Wenn ich diese Anwendungen über docker-compose stop myservice
stoppe, dann löschen sie sich korrekt ab und verschwinden von Consul.Tote Dienste von Konsul entfernen
Wenn ich docker-compose kill myservice
verwende, dann passiert die Abmeldung nicht. Ich verstehe, dass es auf einem UNIX-System unmöglich ist, das SIGKILL-Ereignis abzufangen, daher gibt es keine Möglichkeit, die Abmeldung zu erzwingen.
Was wir also sehen, sind Dienste in Consul, die nie entfernt (markiert als critical
, aber immer noch sichtbar in der Benutzeroberfläche). Gibt es eine Möglichkeit, Consul zu zwingen, das, was registriert ist, zu aktualisieren, damit die toten Dienste entfernt werden?
Dank
Nick
Mögliches Duplikat von [Konsul denegistrieren 'fehlgeschlagen' Dienste] (https://stackoverflow.com/questions/40010594/consul-registerfailing-services) – janisz