目录
一、安装consul
二、服务提供者注册进consul
1、创建module
2、修改pom文件
3、编写yml文件
4、编写主启动类
5、编写业务代码
6、运行测试
三、服务消费者注册进consul
1、创建module
2、修改pom文件
3、编写yml
4、编写主启动类
5、编写逻辑代码
(1)config包
(2)controller包
6、运行测试
一、安装consul
可以在Windows下安装,也可以在linux下。
安装方法百度即可,可以参考consul怎么在windows下安装_筱进GG-CSDN博客_windows下安装consul
二、服务提供者注册进consul
1、创建module
创建普通maven模块 cloud-providerconsul-payment8006
2、修改pom文件
cloud
com.shang.cloud
1.0-SNAPSHOT
4.0.0
cloud-providerconsul-payment8006
com.shang.cloud
cloud-api-commons
1.0-SNAPSHOT
org.springframework.cloud
spring-cloud-starter-consul-discovery
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
8
8
3、编写yml文件
###consul服务端口号
server:
port: 8006
spring:
application:
name: consul-provider-payment
####consul注册中心地址
cloud:
consul:
host: localhost
port: 8500
discovery:
#hostname: 127.0.0.1
service-name: ${spring.application.name}
4、编写主启动类
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8006 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8006.class, args);
}
}
5、编写业务代码
controller:
@RestController
@Slf4j
public class PaymentController {
@Value("${server.port}")
private String serverPort;
@RequestMapping(value = "/payment/consul")
public String paymentConsul(){
return "springcloud with consul: "+ serverPort+"t"+ UUID.randomUUID().toString();
}
}
6、运行测试
在浏览器地址栏中输入
http://localhost:8500/
三、服务消费者注册进consul
1、创建module
创建普通maven模块cloud-consumerconsul-order80
2、修改pom文件
cloud
com.shang.cloud
1.0-SNAPSHOT
4.0.0
cloud-consumerconsul-order80
org.springframework.cloud
spring-cloud-starter-consul-discovery
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
3、编写yml
可以直接复制8006的yml,改一下端口即可
4、编写主启动类
@SpringBootApplication
@EnableDiscoveryClient
public class OrderConsulMain80 {
public static void main(String[] args) {
SpringApplication.run(OrderConsulMain80.class, args);
}
}
5、编写逻辑代码
(1)config包
与zookeeper中的config包一致
(2)controller包
@RestController
@Slf4j
public class OrderConsulController {
public static final String INVOKE_URL = "http://consul-provider-payment";
@Autowired
private RestTemplate restTemplate;
@GetMapping(value = "/consumer/payment/consul")
public String paymentInfo(){
String result = restTemplate.getForObject(INVOKE_URL+"/payment/consul",String.class);
return result;
}
}
6、运行测试



