项目地址: 链接:https://pan.baidu.com/s/1Mxo0ltvZbpz_r8mCU-mSpw
提取码:3j4a
1.下载consul https://www.consul.io/downloads.html
2.以windows版为例 ,解压下载的好的文件,并启动consul.操作如下:
1.解压
2.在解压目录下启动cmd命令行
3.输入指令代码: consul agent -dev -ui -node=cy
-dev 开发服务器模式启动, -node节点名为cy , -ui可以用界面访问,默认能访问
4.访问localhost:8500 即可访问
3.创建项目注册到consul
1.pom.xml依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Spring Cloud整合Consul作为注册中心-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
2.启动类加注解 @EnableDiscoveryClient (zookeeper和consul都是用此注解)
@SpringBootApplication
@EnableDiscoveryClient
public class ConsulMemberApplication {
public static void main(String[] args) {
SpringApplication.run(ConsulMemberApplication.class, args);
}
}
3. application.properties配置文件简单配置
#服务端口号
server.port=8090
#服务名称
spring.application.name=consul-member
#consul 端口
spring.cloud.consul.port=8500
#consul 地址
spring.cloud.consul.host=localhost
#consul 服务地址直接为ip
spring.cloud.consul.discovery.hostname=192.168.0.102
4.启动项目成功,查看注册到consul
4.常用方法,获取注册中心注册服务列表信息
discoveryClient.getInstances("服务名")
@Autowired
private DiscoveryClient discoveryClient;
@GetMapping("/discoveryClient")
public List<ServiceInstance> discoveryClient(){
List<ServiceInstance> instances = discoveryClient.getInstances("consul-member");
for (ServiceInstance instance: instances){
System.out.println("url:" +instance.getUri());
}
return instances;
}