Microservices registrieren und entdecken
Microservices bereitstellen
Nachdem in Microservice bauen bereits zwei Services gebaut und mit Actuates versehen wurden, wollen wir nun die Services an einer Registry registrieren und von dort holen.Registry bauen
Um eine Service-Registry zu bauen benötigt man wieder ein einfaches Spring Boot-Projekt, das folgende Dependency hat:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId></dependency>
Und dessen Application-Klasse die Annotation @EnableEurekaServer trägt.
Der Standardport für den Eureka-Server ist 8761, was in der application.properties konfiguriert wird. Daneben werden noch ein paar Properties gesetzt - einfach mal übernehmen.
Dann kann die Registry gestartet werden.
Service-Discovery
Jetzt müssen sich noch die Clients bei der Registry anmelden, damit sie an von anderen gefunden werden. Dazu muss wieder Spring Boot-like eine Dependency aufgenommen werden:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId></dependency>
Und die Application-Klasse bekommt die Annotation @EnableDiscoveryClient. In der application.properties muss jetzt bekannt gegeben werden, wo die Service-Registry zu finden ist, damit sich dieser Service dort an melden kann. Das sieht so aus:
eureka.client.serviceUrl.defaultZone=http://${service-registry.server.hostname}:8761/eureka/eureka.client.instance.preferIpAddress=trueeureka.instance.nonSecurePort=${server.port}
Der Wert service-registry.server.hostname=localhost ist schon mal vorbereitet noch separat konfiguriert werden.
Auch der Client kann jetzt gestartet werden.
Test
Jetzt sollte folgendes Bild erscheinen:Wie man sieht, haben sie die Clients beide an der Service-Registry angemeldet.
Keine Kommentare:
Kommentar veröffentlichen