项目名称:cloud-consumerconsul-order80
鼠标点击父工程项目右击 —> New —> Module
具体创建步骤参考【搭建EurekaServer端服务注册中心】
1.添加pom.xml
<dependencies>
<!--SpringCloud consul-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<!-- SpringBoot整合Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</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/
可以看到服务已经成功注册了
浏览器输入:http://localhost/consumer/payment/consul
返回如下结果,表示服务之间的调用已经成功了
springcloud with consul: 8006 097c505b-26e8-450f-8902-31b2517a7b9a