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;
}