Comment faire une découverte de service pour les points d'extrémité de repos de démarrage de printemps

StackOverflow https://stackoverflow.com//questions/23044094

  •  21-12-2019
  •  | 
  •  

Question

Si je dispose de conteneurs Tomcat intégrés à ressort multiples et que chacun peut avoir des critères de service tels que

http://localhost:8080/employeeSelfService/getDetails
http://localhost:8081/employeeSelfService/getDetails

Comment faire l'équilibrage de la charge en utilisant 2 micro-services de manière à ce que les clients puissent frapper l'une des URL mentionnées en fonction de la startegy d'équilibrage de la charge

Une option qui me vient à mon esprit consiste à utiliser Netflix Curateur (ou) un serveur Web Apache agissant en tant que proxy inverse, mais avec Apache, lorsque vous créez de nouvelles instances de vos services, vous aurez une entrée de ce service en tant quemembre à httpd.conf

Le Spring Boot fournit-il tout mécanisme de découverte de service et d'équilibrage de charge?

Était-ce utile?

La solution

La chaussure à ressort ne fournit pas cette fonctionnalité, car elle est déjà fournie par un proxy inverse telle que Apache / NGinx en cours d'exécution devant le serveur de démarrage à ressort.

voir ici pour un exemple ici Comment la version commerciale de NGinx fournit la fonctionnalité de de manière dynamiqueéchoue et réduction des nœuds en amont .

Ainsi, dans ce cas, c'est pour l'instance dynamique, dans ce cas, le processus de démarrage à ressort de signaler sa présence / se désenregistrez-lui sur le serveur en amont à l'initialisation / arrêt.

voir ici Comment le faire dans le cas de Nginx, cette procéduresera différent du serveur au serveur.

Autres conseils

Arguably it's not really an application's role to manage its own load-balancing, and Spring Boot focuses on the implementation of an application (or service, equivalently). We have been thinking about whether we could provide features in Spring (Boot or otherwise) to make it easy to write your own load-balancer, or service registry app, but even then I don't think that was what the question was really about (or was it?).

If I interpret the question, and the example use case, literally, I would say that the most natural answer is an out-of-the-box reverse proxy solution (as the other answers pointed out). I also note that such a reverse proxy is an essential and natural part of a PaaS solution, so if you need it to "just work" and don't want to know about the details, PaaS would be a natural path (e.g. see cloudfoundry as an example of such a solution that I happen to have worked on).

Indeed Spring Boot has not inherit support for load-balancing. Just to add to the list of available solutions for load-balancing, here are the instructions to configure an Apache for load-balancing.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top