SpringCloud用Zookeeper搭建配置中心的方法

 更新时间:2018年04月26日 10:07:17   作者:gbcxy  
本篇文章主要介绍了SpringCloud用Zookeeper搭建配置中心的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了SpringCloud +Zookeeper完成配置中心,分享给大家,具有如下:

使用场景

  1. 项目配置更改不需要打包,重启
  2. 提供配置文件的可视化界面
  3. 和springcloud快速整合

为什么使用zookeeper

Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。

怎么使用

1.pom文件

<!-- 提供zookeeper整合的包 -->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-zookeeper-config</artifactId>
</dependency>
<!-- springboot 提供监听的 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.bootstrap.properties文件

提示: springboot项目启动会优先读取 bootstrap.properties.然后获取zookeeper中的配置内容,才启动其他配置

#指定zookeeper的地址,多个用逗号拼接
spring.cloud.zookeeper.connect-string=192.168.100.0:2181
#指定springcloud 读取zookeeper路径的开始位置
spring.cloud.zookeeper.config.root=springcloud
#开始zk的配置
spring.cloud.zookeeper.config.enabled=true
#zk会在你指定的根目录下寻找以这个项目名命名的目录下的配置
spring.application.name=service_config

3.获取zookeeper中的配置

1.@value方式:

//不能动态更新值,需要重启项目
@Value("${com.xxx.username}")
 public String username ;

2.@ConfigurationProperties和@EnableConfigurationProperties方式

//可以动态修改值,不需要重启
@ConfigurationProperties(prefix = "com.xxx")
public class UserInfo {
  public String username ;
  public String getUsername() {
    return username;
  }
  public void setUsername(String username) {
    this.username = username;
  }
}

application代码:

@SpringBootApplication
//支持多个配置类
@EnableConfigurationProperties({xxx.class,abc.class})
public class ServiceConfigApplication {

  public static void main(String[] args) {
    SpringApplication.run(ServiceConfigApplication.class, args);
  }
}

4.获取配置的规则

假设:

spring.cloud.zookeeper.config.root=xxxx ;

spring.application.name=abc

zk 路径:

/xxxx/abc/com/gabo/username

取值:

@value(${com.gabo.username})

5. 检验:

启动的时候输出: State change: CONNECTED

代表连接zookeeper成功

修改配置中心内容,输出:Refresh keys changed:

代表项目中的值修改成功

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Mac Maven环境搭建安装和配置超详细步骤

    Mac Maven环境搭建安装和配置超详细步骤

    这篇文章主要给大家介绍了关于Mac Maven环境搭建安装和配置的超详细步骤,Maven是一种常用的Java构建工具,它可以自动化构建、测试和打包Java项目,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 使用idea2017搭建SSM框架(图文步骤)

    使用idea2017搭建SSM框架(图文步骤)

    这篇文章主要介绍了使用idea2017搭建SSM框架(图文步骤),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Springboot实现阿里云通信短信服务有关短信验证码的发送功能

    Springboot实现阿里云通信短信服务有关短信验证码的发送功能

    短信验证码是通过发送验证码到手机的一种有效的验证码系统。主要用于验证用户手机的合法性及敏感操作的身份验证。下面通过本文大家分享Springboot实现阿里云通信短信服务有关短信验证码的发送功能,一起看看吧
    2017-08-08
  • 使用@RequestParam 绑定List参数

    使用@RequestParam 绑定List参数

    这篇文章主要介绍了使用@RequestParam 绑定List参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 一文带你学会Spring JDBC的使用

    一文带你学会Spring JDBC的使用

    JDBC 就是 数据库开发 操作的 代名词,因为只要是现代商业项目的开发那么一定是离不开 数据库 的,不管你搞的是什么,只要是想使用动态的开发结构,那么一定就是 JDBC ,那么下面来教教大家传统JDBC的使用
    2022-09-09
  • SpringCloud使用Feign实现远程调用流程详细介绍

    SpringCloud使用Feign实现远程调用流程详细介绍

    OpenFeign源于Netflix的Feign,是http通信的客户端。屏蔽了网络通信的细节,直接面向接口的方式开发,让开发者感知不到网络通信细节。所有远程调用,都像调用本地方法一样完成
    2023-02-02
  • 如何使用MyBatis Plus实现数据库curd操作

    如何使用MyBatis Plus实现数据库curd操作

    MyBatis-Plus是一个MyBatis 的增强工具,在MyBatis,的基础上只做增强不做改变,为简化开发、提高效率而生。 这篇文章主要介绍了MyBatis Plus实现数据库curd操作,需要的朋友可以参考下
    2021-09-09
  • IDEA 2022最新激活码注册码超详细教程(亲测激活有效)

    IDEA 2022最新激活码注册码超详细教程(亲测激活有效)

    这篇文章主要介绍了IDEA 2022最新激活码超详细教程(亲测激活至2099年),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • JAVA 根据设置的概率生成随机数的方法

    JAVA 根据设置的概率生成随机数的方法

    本篇文章主要介绍了JAVA 根据设置的概率生成随机数的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 关于Java中阻塞队列BlockingQueue的详解

    关于Java中阻塞队列BlockingQueue的详解

    这篇文章主要介绍了关于Java中阻塞队列BlockingQueue的详解,BlockingQueue是为了解决多线程中数据高效安全传输而提出的,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞,需要的朋友可以参考下
    2023-05-05

最新评论