基于Spring Cloud Consul的服务注册和发现

启动consul

以Windows为例,下载并解压后,可以通过开发模式启动:

consul agent --dev

启动成功后,您可以访问Consul提供的管理页面,默认端口为8500,页面上会显示已注册服务的列表,包括它们的运行状况等信息。

服务注册1.添加Spring Cloud Consul依赖:


    
        org.springframework.cloud
        spring-cloud-starter-consul-discovery
    
    
        org.springframework.boot
        spring-boot-starter-web
    
    
        org.springframework.boot
        spring-boot-starter-actuator
    

2.在服务配置文件中添加Consul配置:

spring:
  cloud:
    consul:
      host: localhost
      port: 8500

3.运行消费者和提供者服务,Consul管理页面将显示对应的服务信息:

服务发现使用RestTemplate调用服务

@Autowired
RestTemplate restTemplate;

public String getFirstProduct() {
    return this.restTemplate.getForObject("https://服务名/products/1", String.class);
}

别忘了为RestTemplate添加配置:

@Bean
@LoadBalanced
public RestTemplate restTemplate(){
    return new RestTemplate();
}