Ich bekomme das Problem, dass etcd/Consul/$ was auch immer versuchen zu lösen. Service-Konsumenten müssen mit Service-Providern sprechen, ein enorm verteiltes System benötigt einen Mechanismus, um die beiden zu heiraten.Warum sollten Sie sich mit der Erkennung von Diensten beschäftigen, wenn die nachrichtenorientierte Middleware die Aufgabe erfüllt?
Allerdings, das Problem "Wohin gehen Service-Konsumenten mit ihren Anforderungen?" ist alt und IMO wurde mit MOM - Message Oriented Middleware gelöst.
In MOM besteht die Idee darin, dass es den Service-Konsumenten egal ist, wo die Service-Provider leben. Sie senden einfach eine Nachricht und lassen den Nachrichtenbus die Nachricht an den entsprechenden Verbraucher weiterleiten. Es kann mehrere Anbieter geben, die alle dasselbe tun (queue-basiertes Round-Robin) oder versionierte Provider (/ v1/request geht zu einem,/v2/request geht zu einem anderen).
Dies ist ein einfaches, leistungsstarkes Integrationsmuster, das eine Serviceschnittstelle vollständig von ihrer Implementierung entkoppelt.
Und doch sehe ich diese bizarre Obsession mit der Entdeckung Service-Provider, die enge Kopplung zwischen Verbraucher und Anbieter zu schaffen erscheint (neben einigen anderen anti-Muster als auch.)
Also, was soll ich fehlt Hier? TIA.