Primeiro instale o ambiente do cônsul, consulte o artigo anterior: https://www.vevb.com/article/141789.htm
Planejamento de projetos, 2 servidores, 1 cliente
Primeiro olhe para o lado do servidor.
Um: servidor 1:
Dependência do projeto
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-consul-dependencies</artifactId> <version>1.0.1.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependency> </dependency> </dependencyManagement> <dependencies> <Depencency> <PuerpId> org.springframework.boot </frupId> <ArtifactId> Spring-boot-actuator </ArtifactId> <Versão> 1.3.5.Release </sipers> </dependency> <spendency> <vrougid> org.springframework.cloud </proupid> <stiftid> SpringFring> SpringFROUD> SpringFring> SpringfRoud> Springfould> Springfould> SpringFout> SpringFROUTD> SpringFring> SpringfRoud> Springfring> </dependency> </dependências>
Observe que a adição de spring-boot-attuador é para que o projeto possa acessar o caminho de saúde para determinar se o serviço é saudável.
pacote com.pp.consul1; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.springbootApplication; importar org.springframework.cloud.client.discovery.enablediscoveClient; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.restcontroller; @SpringbooTApplication @EnablediscSoveryclient @restcontroller classe public Class consulApp {@RequestMapping ("/home") public Object home () {System.out.println ("111111111111111111111 retornar "OK11"; } public static void main (string [] args) {springapplication.run (consulapp.class, args); }} Application.Properties Conteúdo da configuração
server.port = 9955 spring.application.name = consul-server-1 spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.Consul.Consul.Enabled = true spring.cloud.consul.discovery.Enabled.Consul.Cloud.Cloud.Cloud.Cloud.Cloud.Consul.Dovery. 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/Health spring.cloud.consul.discovery.healthCheckInterval = 10s spring.cloud.consul.discovery.tags = dev Eu li meu artigo anterior e deveria ser muito claro sobre essas configurações. Dessa forma, um servidor será configurado e escrito.
Como adicionamos a anotação @EnablediscoveClient, quando o sistema iniciar, um serviço será registrado no cônsul. O nome do serviço é tomcat e o id é tomcat1
A API HTTP do cônsul de acesso é emitida da seguinte forma:
{"Node": "192.168.1.100", "endereço": "192.168.1.100", "ServiceId": "Tomcat1", "ServiceName": "Tomcat", "ServiceTags": ["Dev"], ServicEddress ":" 192.18.2.5 ", [" ""], "ServiceDredDress": "192.18.2.5", ["" "]," ServiceDredDress ":" 192.18.2.5 ", [" ""], "" 192.18.2.5 ": "ServiceenableTagoverRide": false, "CreateIndex": 993, "ModifyIndex": 1057}Dois: servidor 2
As dependências do projeto são as mesmas que acima
pacote com.pp.consul2; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.springbootApplication; importar org.springframework.cloud.client.discovery.enablediscoveClient; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.restcontroller; @SpringBootApplication @EnableDiscoveryClient @RestController public class ConsulApp { @RequestMapping("/home") public Object home() { System.out.println("222222222222222222222"); retornar "OK22"; } public static void main (string [] args) {springapplication.run (consulapp.class, args); }}Application.Properties Conteúdo da configuração:
server.port = 9966 spring.application.name = consul-server-2 spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.Consul.Enabled = spring.cloud.consul.discovery.enabled.inConsul.Consul.Conabled = true spring.cloud.consul.dovery.enabled.inCronsul.cloud.Cloud.Cloud.Cloud. 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/Health spring.cloud.consul.discovery.healthCheckInterval = 10s spring.cloud.consul.discovery.tags = teste Três: cliente
Dependências do projeto, apenas a descoberta do consultor de primavera-nuvem
Application.Properties Conteúdo da configuração:
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 = false
Observe que o spring.cloud.consul.discovery.register aqui precisa ser configurado para false, caso contrário, um serviço será registrado no cônsul quando o sistema iniciar.
pacote 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.enablediscoveClient; importar org.springframework.cloud.client.loadBalancer.loadBalancerclient; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.restcontroller; @SpringbooTApplication @enablediscoveryclient @restcontroller classe pública consulclient {@aUTowired Private LoadBalancerclient loadBalancer; @Autowired Private Discoveryclient Discoveryclient; /** * Selecione um serviço de todos os serviços (pesquisa) */@RequestMapping ("/Discover") public Object Discover () {return loadbalancer.choose ("tomcat"). Geturi (). Tostring (); }/*** Obtenha todos os serviços*/@RequestMapping ("/Services") public Object Services () {return Discoveryclient.getInstances ("tomcat"); } public static void main (string [] args) {springapplication.run (consulclient.class, args); }} Após a startup, você pode acessar /descobrir e /serviços para visualizar o efeito.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.