El artículo anterior ya ha escrito cómo construir un centro de registro. Está lejos de ser suficiente para tener un centro de registro, por lo que necesitamos registrarnos en el centro de registro y proporcionar servicios. Esto se llama proveedor de servicios de registro.
premisa
Lea lo anterior y construya con éxito un centro de registro sin cambiar el entorno
Construcción de proyectos
Aquí necesitamos crear un nuevo proyecto Maven. El nombre del proyecto no se ha planteado antes. Déjame referirme a eso aquí. El mío es SpringClouddemo, ¡no me importen estos detalles!
Para modificar el archivo POM, consulte lo siguiente:
Nota: Mire los números de versión de estos paquetes JAR. Al final del artículo, publicaré las rutas GitHub de las dos demostraciones simples que construí antes.
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelsversion> 4.0.0 </modelversion> <grupo> com.hellxz </groupid> <artifactid> <versión> 0.0.1-snapshot </versión> <compagument> jar </packaging> <name> springclouddemo </name> <scription> Proyecto de demostración para el arranque de primavera </scription> <-parent> <proupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid> <versole> 1.5.4.4.10 <RelativePath/> <!-Búsqueda de padres desde el repositorio-> </rent> <pendencyManagement> <Spendencies> <Spendency> <MoupRupid> org.springframework.cloud </groupid> <artifactid> spring-cloud-dependencies </artifactid> <versión> camden.sr3 </versión> <pom> pom </pom> <pope> </pendency> </dependency> </pepertencymanagement> <properties> <proyecto.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> <jection.rePorting.outputenCoding> UTF-8 </project.Reporting.outputenCoding> <Java.Version> 1.8 </JAVA.VERSIONES <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependence> <!-Se usa para monitorear el proyecto y proporcionar información de estado en el proyecto-> <Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactid> spring-boot-starter-actuator </artifactid> </dependency> <! Junit test-> <epardency> <grupid> junit </groupiD> <RATIFACTID> </artifiCiD </artifact </artifact> </artifact> <Versión> 4.8.2 </versión> </pendency> <epardency> <grupid> org.springframework.cloud </groupid> <artifactid> spring-cloud-starter-eureka </artifactid> </dependency> <pendency> <uproupid> org.sssingframe.cloud </groupid> <artifactid> springcloud-crocfigserver </artid> </pendency> </dependence> </pendency> <struple> <glugins> <glugin> <uproupid> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> </glugin> <glugin> <grupeID> org.apache.maven.plugins </proupid> <artifactID> maven-compiler-plugin </artifactid> <figuration> <overned> 1.8 </over> <arget> 1.8 </target> </configuration> </glugin> </glugins> </stract> </jection>
Aunque el número de versión es diferente del proyecto del Centro de Registro Eurekaserver, se puede usar normalmente a través de la práctica. Por favor, tenga la seguridad
Cree una nueva clase de inicio (en cada proyecto Springboot)
paquete com.hellxz.springcloudhelloworld; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springfringframe.cloud.client.discovery.enablediscoveryclient;/** @ @ @@author de hatheuthor: hathorwork. Eurekaclient * @Date: 2018/4/13 16:57 */@habilitadoClient@springbootapplationpublic clase springclouddemoapplication {public static void main (string [] args) {springapplication.run (springclouddemoapplication.class, args); }} Cree una nueva clase de controlador y déjela para pruebas posteriores
paquete com.hellxz.springcloudhelloworld; importar org.apache.log4j.logger; import org.springframework.beans.factory.annotation.auTowired; import org.springframework.cloud.client.serviceInance; import org.springframework.cloud.discoverydiscoverydiscoverycloveClient; org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; import org.springframework.web.bind.annotation.restcontroller;/*** @author: hellxz* @description: servicios de servicio* @Date 11:36 */ @RESTCONTROLLERPublic Class SpringBootController {@AUTOWIREDIRDRED DiscoveryClient Client; // Inyect Discovery Client private final logger logger = logger.getLogger (springBootController.class); @RequestMapping (valor = "/hello", método = requestmethod.get) public String Hello () {// Obtener la instancia de servicio, y la función es para mostrar el efecto del servicio de consola en servicioinstance = Client.getLocalServiceInstance (); logger.info ("/Hello Host:"+ServiceInstance.gethost ()+"Service_id:"+ServiceInstance.getServiceId ()); devolver "hola"; }}Cree Application.yml en la carpeta SRC/Resources. Esta vez, use YAML para la configuración. Si desea probar el método del archivo de propiedades, consulte el anterior. Consulte la configuración del centro de registro para la dirección de servicio configurada aquí.
servidor: puerto: 8080spring: Aplicación: Nombre: Hello-Serviceeureka: Client: ServiceUrl: Defaultzone: http: // localhost: 1111/eureka/
Ok, ejecutaremos este proyecto en el puerto 8080 y podemos ir al centro de registro para registrarse para los servicios.
Inicie el proyecto en el centro de registro primero, y después de comenzar, comience el proyecto.
prueba
Ingrese la URL del centro de registro para ver: Localhost: 1111
Acceda a la ruta del controlador que acaba de configurar: http: // localhost: 8080/hola
Como se muestra en la imagen de la derecha, el registro es exitoso.
En este momento, podemos usar este proyecto para proporcionar servicios
Ejemplo de demostración:
https://github.com/hellxz/eurekaserver
https://github.com/hellxz/eurekaclient
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.