Primero instale el entorno del cónsul, consulte el artículo anterior: https://www.vevb.com/article/141789.htm
Planificación de proyectos, 2 servidores, 1 cliente
Primero mire el lado del servidor.
Uno: servidor 1:
Dependencia del proyecto
<SpendencyManagement> <Spendencies> <Spendency> <MoupRoMID> org.springframework.cloud </groupId> <AtifactId> Spring-Cloud-Consul-Dependencies </artifactid> <versión> 1.0.1.Release </versewers> <pom> Pom </type> <appope> import </pope> </pendency> <////////<///dependence> <//dependence> </Dependency> </dependence> </Dependency> </dependence <</dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependence> </dependencymement. <Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactid> spring-boot-actuator </arfactid> <versers> 1.3.5.release </sions> </dependency> <epardency> <grupo> org.springframe.cloud </groupid> <artifactid> spring-cloud-sharter-ccsuldiscovery-discoverywworkid> </pendency> </dependencias>
Tenga en cuenta que agregar el activador de botas de resorte es para que el proyecto pueda acceder a la ruta /salud para determinar si el servicio es saludable.
paquete com.pp.consul1; importar org.springframework.boot.springapplication; importar org.springframework.boot.autoconfigure.springbootapplication; importar org.springframework.cloud.client.discovery.enabledScoveryClient; importar org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.restController; @SpringBootApplication @EnabledScoverYClient @RestController Class Public CONSULAPP {@RequestMapping ("/Home") Public Object Home () {System.out.println ("11111111111111"); regresar "OK11"; } public static void main (string [] args) {springapplication.run (consulapp.class, args); }} Application.Properties Content de configuración
servidor.port = 9955 spring.application.name = consul-server-1 spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.enabled = true Spring.cloud.consul.discovery.enabled = true spring.cloud.consul.discovery.instanceid. spring.cloud.consul.discovery.serviceName = tomcat spring.cloud.consul.discovery.hostname = 192.168.2.95 spring.cloud.consul.discovery.port = $ {server.port} spring.cloud.consul.discovery.healthcheckurl = http: //192.168.2.95: 9955/salud spring.cloud.consul.discovery.healthcheckinterval = 10s spring.cloud.consul.discovery.tags = dev He leído mi artículo anterior y debería ser muy claro sobre estas configuraciones. De esta manera, se configurará y escribirá un servidor.
Dado que hemos agregado la anotación @EnabledScoveryClient, cuando comience el sistema, se registrará un servicio con el cónsul. El nombre del servicio es Tomcat y la identificación es Tomcat1
La API HTTP del Consul de Access se emite de la siguiente manera:
{"Nodo": "192.168.1.100", "dirección": "192.168.1.100", "ServiceId": "TomCat1", "ServiceName": "TomCat", "ServiceTags": ["Dev"], "Serviceaddress": "192.168.2.95", "Servicio": 9955,, 9955, "ServiceEnableTagoverride": False, "CreateIndex": 993, "ModifyIndex": 1057}Dos: servidor 2
Las dependencias del proyecto son las mismas que las anteriores
paquete com.pp.consul2; importar org.springframework.boot.springapplication; importar org.springframework.boot.autoconfigure.springbootapplication; importar org.springframework.cloud.client.discovery.enabledScoveryClient; importar org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.restController; @SpringBootApplication @EnabledScoveryClient @RestController public class ConsulApp {@RequestMapping ("/Home") Public Object Home () {System.out.println ("22222222222222222222222"); regresar "OK22"; } public static void main (string [] args) {springapplication.run (consulapp.class, args); }}Application.Properties Content de configuración:
servidor.port = 9966 Spring.Application.Name = Consul-Server-2 Spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.enabled = true Spring.cloud.consul.discovery.enabled = true spring.cloud.consul.discovery.instanceid. spring.cloud.consul.discovery.serviceName = tomcat spring.cloud.consul.discovery.hostname = 192.168.2.95 spring.cloud.consul.discovery.port = $ {server.port} spring.cloud.consul.discovery.healthcheckurl = http: //192.168.2.95: 9966/salud spring.cloud.consul.discovery.healthcheckinterval = 10s spring.cloud.consul.discovery.tags = test Tres: cliente
Dependencias de proyectos, solo Spring-Cloud-Starter-Consul-Descosvery
Application.Properties Content de configuración:
server.port = 9977 spring.application.name = consul-client spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.discovery.register = falso
Tenga en cuenta que el spring.cloud.consul.discovery.register aquí debe configurarse en falso, de lo contrario, se registrará un servicio con el cónsul cuando comience el sistema.
paquete com.pp.client; importar org.springframework.beans.factory.annotation.aUtowired; importar org.springframework.boot.springapplication; importar org.springframework.boot.autoconfigure.springbootapplication; importar org.springframework.cloud.client.discovery.discoveryclient; importar org.springframework.cloud.client.discovery.enabledScoveryClient; importar org.springframework.cloud.client.loadbalancer.loadBalancerClient; importar org.springframework.web.bind.annotation.requestMapping; importar org.springframework.web.bind.annotation.restController; @SpringBootApplication @EnabledScoveryClient @RestController Public Class ConsulClient {@AUTOWIREDIREDIRDIRSE loadBalancercclient LoadBalancer; @Autowired Private DiscoveryClient DiscoveryClient; /** * Seleccione un servicio de todos los servicios (encuestas) */@RequestMapping ("/Discover") Public Object Discover () {return LoadBalancer.Choose ("Tomcat"). GetUri (). ToString (); }/*** Obtenga todos los servicios*/@RequestMapping ("/Services") Public Object Services () {return DiscoveryClient.getInstances ("TomCat"); } public static void main (string [] args) {springapplication.run (consulClient.class, args); }} Después del inicio, puede acceder /descubrir y / /servicios para ver el efecto.
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.