Überblick
Verwenden Sie ein einfaches Beispiel, um die grundlegende Verwendung von Eureka und Band in der Federwolke zu demonstrieren.
Version und Umgebung
Erstellen Sie Eureka Server
In der Frühjahrs -Cloud können Sie Eureka zum Verwalten von Microservices verwenden, und Microservices können bei Eureka registriert werden.
Zunächst können Sie Spring Initialzr von Idea verwenden, um das Eureka Server Registration Center zu erstellen.
Ändern Sie die Datei application.Properties und fügen Sie den folgenden Inhalt hinzu
Spring.Application.Name = eureka-server eureka.instance.hostname = localhost eureka.client.register-with-eureka = false eureka.client.fetch-Registry = False Server.port = 8881
Fügen Sie @EnableEurekaServer Annotation zur Start -Class ServerApplication hinzu, die von Spring Boot für uns generiert wurde
Paket com.springcloud.eureka; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootApplication; Import; org.springFramework.cloud.netflix.eureka.server.enableeureKaserver;@enableeurekaserver@SpringBootApplicationPublic Class ServerApplication {public static void main (String [] args) {SpringApplication.Run (ServerApplication.ClASS.CLASS, ARGS, ARGS); }}Geben Sie http: // localhost: 8881/in Ihren Browser ein
Sie können die folgende Schnittstelle sehen:
Sie können sehen, dass der Service noch nicht registriert wurde. Zu diesem Zeitpunkt wurde ein einfaches Microservice -Registrierungszentrum gebaut.
Schreiben eines Microservice Userservice
Erstellen Sie als nächstes eine Microservice -Schnittstelle und registrieren Sie sie im Registrierungszentrum. Verwenden Sie immer noch Spring Initialzr , um ein neues Projekt zu erstellen. Die Verwendung ist die gleiche wie oben.
Beachten Sie, dass Sie diesmal die Eureka Discovery -Komponente überprüfen müssen. Anstelle von Eureka Server .
Ändern Sie die Datei application.Properties und fügen Sie den folgenden Inhalt hinzu:
Spring.Application.Name = User Server.port = 8882 eureka.client.service-url.defaultzone = http: // localhost: 8881/eureka/
Verwenden Sie die @EnableDiscoveryClient -Annotation in der UserApplication , die Spring Boot für uns generiert.
Paket com.springcloud; import org.springframework.boot.springApplication; static void main (String [] args) {SpringApplication.run (userApplication.class, args); }}Erstellen Sie eine REST -Microservice -Schnittstelle.
Paket com.springcloud; import org.springframework.web.bind.annotation.getmapping; }}
Nach dem Ausführen von Benutzeranwendungen besuchen Sie http: // localhost: 8881/noch einmal
Sie werden feststellen, dass der Benutzerdienst registriert wurde.
Schreiben einer Microservice -Bestellung
Als nächstes erstellen wir einen Auftragsmikroservice und greifen auf die Schnittstelle im User Microservice zu.
Verwenden Sie immer noch Spring Initialzr , um ein neues Projekt zu erstellen. Der Benutzer Microservice kann auf mehreren Maschinen bereitgestellt werden. Wenn der Client auf diesen Dienst zugreift, kann die Anforderung mit dem Benutzerdienst auf jeden Computer weitergeleitet werden. Daher muss der Client einen Routing -Algorithmus verwenden, um den Benutzerdienst zu planen. In der Frühlingswolke können Sie Ribbon -Komponenten verwenden, um Client -Routing durchzuführen. Ribbon wird in das Service Registration Center gehen, um die Serviceliste zu erhalten, um den entsprechenden Service anzurufen.
Diesmal, zusätzlich zur Überprüfung der Eureka Discovery . Sie müssen auch Ribbon überprüfen.
Ändern Sie die Datei application.Properties und fügen Sie den folgenden Inhalt hinzu:
Spring.Application.Name = Order Server.port = 8883 eureka.client.service-url.defaultZone = http: // localhost: 8881/eureka/
Fügen Sie die folgende Konfiguration zur OrderApplication hinzu, die mit Spring Boot generiert wird.
Paket com.springboot; import org.springframework.boot.springApplication; org.springFramework.context.annotation.bean; import org.springframework.web.client.restTemplate; @enablediscoveryclient @SpringBootApplicationPublic -Klasse orderAnture {@bean @LoadBalanced rastTemplate rastEmplate () {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{rastEmplication zurückgeben) zurückgeben; } public static void main (String [] args) {SpringApplication.run (orderApplication.class, args); }} Da das Band verwendet wird, muss hier die @LoadBalanced Annotation verwendet werden.
Schreiben Sie OrderController .
Paket com.springboot; import org.springframework.bean.factory.annotation.autowired; org.springframework.web.client.restTemplate; @restControllerPublic Class OrderController {@autowired private rastTemplate rastTemplate; @Getmapping ("/getOrderUser") public String getOrderUser () {retRestTemplate.getForentity ("http: // user/getUser", string.class) .getBody (); }} Besuchen Sie nach dem Ausführen OrderApplication http: // localhost: 8881/
Sie werden feststellen, dass der Bestelldienst auch im Registrierungszentrum registriert wurde.
Als nächstes greifen wir im OrderController auf die getOrderUser -Methode zu und lösen den Aufruf getUser -Methode UserController aus.
Geben Sie: http: // localhost: 8883/getOrderuser
Sie können sehen, dass es zurückgibt: Ich bin Benutzerliste.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.