在SpringCloud中使用Zookeeper做注冊(cè)中心和配置中心

????????使用zookeeper做注冊(cè)中心和配置中心,是因?yàn)閦ookeeper的數(shù)據(jù)模型很簡(jiǎn)單,有一系列被稱為znode的數(shù)據(jù)節(jié)點(diǎn)組成,與傳統(tǒng)的磁盤文件系統(tǒng)不同的是,zk將全量數(shù)據(jù)存儲(chǔ)在內(nèi)存中,可謂是高性能、高可用,而且支持集群,另外支持事件監(jiān)聽。這些特點(diǎn)決定了zk特別適合作為注冊(cè)中心(數(shù)據(jù)發(fā)布/訂閱)。再加上eureka開源項(xiàng)目停止更新,同時(shí)在項(xiàng)目部署可以利用現(xiàn)有zookeeper集群資源,減少項(xiàng)目節(jié)點(diǎn)的部署。


maven依賴:

maven依賴:

<dependency>

????<groupId>org.springframework.cloud</groupId>

????<artifactId>spring-cloud-starter-zookeeper-config</artifactId>

</dependency>

<!-- zookeeper 依賴的健康檢查的jar,所以需要引入actuator這個(gè)依賴 -->

<dependency>

????<groupId>org.springframework.boot</groupId>

????<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

在resources目錄下添加bootstrap.properties,內(nèi)容如下:

##啟用zookeeper作為配置中心

spring.cloud.zookeeper.config.enabled=true

##配置根路徑

spring.cloud.zookeeper.config.root=atomic-config

##配置默認(rèn)上下文

spring.cloud.zookeeper.config.defaultContext=atomic

##配置profile分隔符

spring.cloud.zookeeper.config.profileSeparator=-

同時(shí)在resources目錄下添加application.yml配置內(nèi)容:

server:

??port: 4001

spring:

??application:

????## 配置應(yīng)用名稱

????name: atomic-config

??cloud:

????zookeeper:

??????connect-string: localhost:2181

??????## zookeeper的services根目錄

??????discovery:

????????root: atomic

??profiles:

????active: dev

## 關(guān)閉安全管理

management:

??security:

????enabled: false

endpoints:

??health:

????sensitive: false

編寫啟動(dòng)類:

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient

@SpringBootApplication

public class ConfigApplication {

????public static void main(String[] args) {

????????SpringApplication.run(ConfigApplication.class,args);

????}

}

在zookeeper中增加項(xiàng)目配置中心:

create /atomic-config/atomic-dev/name "an"

實(shí)際變量使用如下:

@Value("${name}")

privateStringname;

zookeeper目錄情況如下:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容