SpringCloud整合Consul作爲註冊中心

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

 

發佈了75 篇原創文章 · 獲贊 23 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章