Ich habe ausführlich auf Zookeeper / sah Kurator , Eureka , ETCD und Konsul. Zookeeper / Curator und Eureka sind in vielerlei Hinsicht die besten und am einfachsten zu integrierenden, wenn Sie sich in der Java-Welt befinden. Etcd ist ziemlich cool und sehr flexibel, aber es ist wirklich nur ein HA-Schlüsselspeicher, sodass Sie viel Code schreiben müssten, um daraus ein System zur Erkennung von Meinungen zu machen.
Der Konsul ist (für mich) das Beste aus beiden Welten. Es handelt sich um ein Service-Discovery-System mit einer Meinung, das auf Leibeigenen geschrieben ist und Floß für Cluster-Konsens und Klatsch für Kommunikation verwendet. Es stellt die Erkennungs- / Registrierungsendpunkte mit einer gut dokumentierten REST-API bereit und ermöglicht es Ihnen, Dienste mit DNS-SRV-Einträgen zu erkennen und Dienste mit Konfiguration zu registrieren (dh Sie können eine Datenbank oder Anwendung registrieren, in die Sie keinen Client integrieren können). oder wenn Sie nur Ihre Serviceerkennung von Ihrer App entkoppeln möchten)
Ich habe einen Blog-Beitrag über Konsul geschrieben, in dem Sie mehr erfahren und meine Demo zum Ausprobieren durchgehen können
Ich habe auch die Diensterkennung mit etcd & docker besprochen, wenn Sie mehr darüber erfahren möchten, wie dieser benutzerdefinierte Code aussehen könnte.
Eine letzte Sache! etcd & consul sind in go geschrieben, daher ist die Wartung viel einfacher als bei Java-Lösungen wie zookeeper. Alles was Sie brauchen ist die binäre Konsul / etcd. Keine Abhängigkeiten, keine verknüpften Bibliotheken, kein JVM.