项目名称:cloud-consumerconsul-order80

鼠标点击父工程项目右击 —> New —> Module

具体创建步骤参考【搭建EurekaServer端服务注册中心

1.添加pom.xml

  1. <dependencies>
  2. <!--SpringCloud consul-server -->
  3. <dependency>
  4. <groupId>org.springframework.cloud</groupId>
  5. <artifactId>spring-cloud-starter-consul-discovery</artifactId>
  6. </dependency>
  7. <!-- SpringBoot整合Web组件 -->
  8. <dependency>
  9. <groupId>org.springframework.boot</groupId>
  10. <artifactId>spring-boot-starter-web</artifactId>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.springframework.boot</groupId>
  14. <artifactId>spring-boot-starter-actuator</artifactId>
  15. </dependency>
  16. <!--日常通用jar包配置-->
  17. <dependency>
  18. <groupId>org.springframework.boot</groupId>
  19. <artifactId>spring-boot-devtools</artifactId>
  20. <scope>runtime</scope>
  21. <optional>true</optional>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.projectlombok</groupId>
  25. <artifactId>lombok</artifactId>
  26. <optional>true</optional>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.springframework.boot</groupId>
  30. <artifactId>spring-boot-starter-test</artifactId>
  31. <scope>test</scope>
  32. </dependency>
  33. </dependencies>

2.添加application.yml配置文件

###consul服务端口号,consul会发送健康检查请求到80端口
server:
  port: 80

spring:
  application:
    name: cloud-consumer-order
  cloud:
    consul:
      ####consul注册中心地址
      host: 192.168.28.132
      port: 8500
      discovery:
        service-name: ${spring.application.name}
        #consul发送健康检查的地址,配置当前项目所在服务器的IP地址
        hostname: 192.168.0.108
        #健康检查的url,默认会根据hostname配置的IP + server.port/actuator/health
        #health-check-url: http://192.168.0.108:8006/actuator/health

3.添加主启动类

@SpringBootApplication
@EnableDiscoveryClient
public class ConsumerOrderConsulApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerOrderConsulApplication.class, args);
    }
}

4.添加RestTemplate的JavaBean配置

@Configuration
public class ApplicationContextConfig {

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

}

5.添加OrderConsulController

@Slf4j
@RestController
public class OrderConsulController {
    public static final String INVOKE_URL = "http://consul-provider-payment";

    @Resource
    private RestTemplate restTemplate;

    @GetMapping(value = "/consumer/payment/consul")
    public String paymentInfo() {
        String result = restTemplate.getForObject(INVOKE_URL + "/payment/consul", String.class);
        return result;
    }
}

6.启动cloud-providerconsul-payment8006


浏览器输入:http://192.168.28.132:8500/

可以看到服务已经成功注册了
image-20200313133824479.png
浏览器输入:http://localhost/consumer/payment/consul

返回如下结果,表示服务之间的调用已经成功了

springcloud with consul: 8006 097c505b-26e8-450f-8902-31b2517a7b9a