Descripción general
Use un ejemplo simple para demostrar el uso básico de Eureka y la cinta en la nube de resorte.
Versión y entorno
Construir el servidor Eureka
En Spring Cloud, puede usar Eureka para administrar microservicios, y los microservicios se pueden registrar con Eureka.
Primero, puede usar Idea Spring Initialzr para crear el Centro de registro del servidor Eureka.
Modifique el archivo Application.Properties y agregue el siguiente contenido
spring.application.name = eureka-server eureka.instance.hostname = localhost eureka.client.register-with-eureka = false eureka.client.fetch-registry = false server.port = 8881
Agregue la anotación @EnableEurekaServer a la clase de ServerApplication generada por Spring Boot para nosotros
paquete com.springcloud.eureka; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.cloudflix.eureka.server.enableeurekaserver class ServerApplication {public static void main (string [] args) {springApplication.run (serverAplication.class, args); }}Ingrese http: // localhost: 8881/en su navegador
Puede ver la siguiente interfaz:
Puede ver que el servicio aún no se ha registrado. En este punto, se ha construido un centro de registro de microservicio simple.
Escribir un servicio de usuarios de microservicio
A continuación, use REST para construir una interfaz de microservicio y registrarla en el centro de registro. Sigue usando Spring Initialzr para construir un nuevo proyecto. El uso es el mismo que el anterior.
Tenga en cuenta que esta vez necesita verificar el componente Eureka Discovery . En lugar del Eureka Server .
Modifique el archivo Application.Properties y agregue el siguiente contenido:
Spring.application.name = User Server.port = 8882 eureka.client.service-url.defaultzone = http: // localhost: 8881/eureka/
Use la anotación @EnableDiscoveryClient en la clase UserApplication que Spring Boot nos genera.
paquete com.springcloud; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.cloud.client.discovery.enabledScoveryClient;@asigniscoveryClient@springBootApapApapApapApapApapApapApapApapla void main (string [] args) {springapplication.run (userApplication.class, args); }}Cree una interfaz de microservicio completo de descanso.
paquete com.springcloud; import org.springframework.web.bind.annotation.getMapping; import org.springframework.web.bind.annotation.restController; @restcontrollerpublic clase pública userController {@getmapping ("/getuser") Cadena pública getuser () {regreso de la clase ". }}Después de ejecutar UserApplication, visite http: // localhost: 8881/nuevamente
Encontrará que el servicio de usuario ha sido registrado.
Escribir un pedido de microservicio
A continuación, creamos un microservicio de pedido y accedemos a la interfaz en el microservicio del usuario.
Todavía usa Spring Initialzr para construir un nuevo proyecto. El microservicio de usuario se puede implementar en múltiples máquinas. Cuando el cliente accede a este servicio, la solicitud se puede enrutar a cualquier máquina con el servicio de usuario implementado. Por lo tanto, el cliente debe usar un algoritmo de enrutamiento para programar el servicio de usuario. En Spring Cloud, puede usar componentes de cinta para hacer el enrutamiento del cliente. Ribbon irá al Centro de Registro de Servicios para obtener la lista de servicios para llamar al servicio correspondiente.
Esta vez, además de verificar el componente Eureka Discovery . También debes verificar Ribbon .
Modifique el archivo Application.Properties y agregue el siguiente contenido:
Spring.application.name = Order Server.port = 8883 eureka.client.service-url.defaultzone = http: // localhost: 8881/eureka/
Agregue la siguiente configuración a la clase OrderApplication generada por Spring Boot .
paquete com.springboot; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.cloud.client.discovery.enabledScovericlient; import orug.springframe.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloud.cloveD.cloud.cocker.loaded.cloveD.LoadEnt. org.springframework.context.annotation.bean; import org.springframework.web.client.resttemplate; @habilitionCoveryClient @springBootApplicationPublic Class OrderApplication {@Bean @LoadBean ResttEmplate RestTeMplate () {return New RestTempate (); } public static void main (string [] args) {springapplication.run (ordenapplication.class, args); }} Dado que se usa la cinta, la anotación @LoadBalanced debe usarse aquí.
Escribe OrderController .
paquete com.springboot; import org.springframework.beans.factory.annotation.aUtowired; import org.springframework.web.bind.annotation.getMapping; import org.springframework.web.bind.annotation.restcontroller; import; import org.springframework.web.client.resttemplate; @RestControllerPublic Class OrderController {@aUtowired RestTemplate RestTemplate; @GetMapping ("/getOrderUser") public String getOrderUser () {return RestTemplate.getForEntity ("http: // user/getUser", string.class) .getBody (); }} Después de ejecutar OrderApplication , visite http: // localhost: 8881/
Encontrará que el servicio de pedido también se ha registrado en el centro de registro.
A continuación, accedemos al método getOrderUser en OrderController y activamos la llamada al método getUser del UserController .
Entrar: http: // localhost: 8883/getOrderuser
Puede ver que devuelve: soy una lista de usuarios.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.