本文共 1400 字,大约阅读时间需要 4 分钟。
为什么要使用zookeeper来管理项目配置?
每当我们的项目需要更改配置文件的时候,我们都会重新打包并重新部署项目。如果一个项目还好说,如果是分布式的服务,那么我们需要停掉左右机器上的服务,上传新的包,然后重启。如果是10台,如果是100台如果是1000台.......基于zookeeper配置中心,我们只需要更改zk中相应项目的配置,直接重启服务就可以了,省去了冲洗打包,上传,部署等大量操作。且配置中心化易于管理。准备工作
基于SpringBoot基于SpringCloud基于zooKeeper 集群服务
假设你是基于SpringBoot开发,因为Spring对zk的集成整合在了SpringCloud的子项目中,所以我们需要引入SpringCloud,,我使用的是目前Dalston SR2这个release。
然后在pom.xml的依赖中引入如下依赖:
org.springframework.cloud spring-cloud-starter-zookeeper-config org.springframework.boot spring-boot-starter-actuator
Spring官网对zookeeper这个子项目有个说明,就是项目的配置文件不可以叫application,需要改成bootstrap开头,否则没办法正常读取配置。例如原先叫application.yaml / application.properties,现在改成bootstrap.yaml / bootstrap.properties。
配置ZooKeeper
#ZooKeeper的连接字符串,如果是集群,逗号分隔节点,格式:ip:port[,ip2:port2,.....]spring.cloud.zookeeper.connect-string = ${ZOOKEEPER_CONNECT_STRING}#指定zookeeper目录的根目录spring.cloud.zookeeper.config.root =#启用zk的配置spring.cloud.zookeeper.config.enabled = #定义了你的项目的名称,zk会在你指定的根目录下寻找以这个项目名命名的目录下的配置spring.application.name =
关于如何在zookeeper下创建目录,并填写配置,请参考其他资料。
举例说明
spring.cloud.zookeeper.config.enabled = true
在你指定zookeeper下的根目录,zk会在这个根目录下寻找跟你项目名称相同的文件夹,然后找到其下面的所有配置。
例如指定的根目录root(即/root),项目名称叫project,(即/root/project),上面的配置对应就是 /root/project/spring/cloud/zookeeper/config/enabled这个key,enabled的值是true启动项目即可
转载地址:http://kqkia.baihongyu.com/