Wir haben eine Reihe von Microservices, die im Ökosystem zusammenarbeiten. Wir hatten gelegentlich Probleme, bei denen einer oder mehrere dieser Microservices aus Versehen untergehen würden. Glücklicherweise haben wir ein Monitoring aufgebaut, das dies erkennen und korrigierende Maßnahmen ergreifen würde.Clustering Microservice Komponenten
Jetzt möchten wir Redundanz um jeden dieser Microservices aufgebaut haben. Ich denke eher an einen Master/Slave-Ansatz, bei dem ein Sklave immer in Bereitschaft ist und wenn der Master ausgeht, hebt der Slave es auf.
Sollten wir in Erwägung ziehen, ein Framework zu verwenden, das wir als Service Registry verwenden könnten, wo wir jeden dieser Microservices registrieren und zulassen, dass sie kontrolliert werden? Gibt es noch weitere Vorschläge, wie Sie mit den Microservices die Art von Master/Slave-Architektur erreichen können, die eine Failover-Redundanz ermöglicht?
Was wir wollen, ist nur eine Failover-Instanz, die aktiv wird, wenn der Master ausfällt. Es ist mehr oder weniger das gleiche Konzept mit Apache Kafka Brokern! – sparkr
Kafka löst das, indem alle Knoten an einem zentralen Ort registriert sind und eine große Menge an Software vorhanden ist. Aber ich lache über das "out of the box" -Denken, denn die meisten Menschen betrachten Kafka nur als Nachrichtenbus und nicht als Blaupause für die Lösung von Problemen in anderen Bereichen. Aber, ja, einen zentralen "guaranteed up" -Dienst zu haben, der Endpunkte registriert, ist eine Option. Viel Glück bei Ihrer Lösung. –