SpringCloud用Zookeeper搭建配置中心的方法
作者:gbcxy 发布时间:2022-12-17 18:16:18
标签:SpringCloud,配置中心
本文介绍了SpringCloud +Zookeeper完成配置中心,分享给大家,具有如下:
使用场景
项目配置更改不需要打包,重启
提供配置文件的可视化界面
和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:
代表项目中的值修改成功
来源:https://blog.csdn.net/qq_27336239/article/details/78848088


猜你喜欢
- 在android平台上的app,在主页面时经常会遇到“再按一次退出app”的功能,避免只按一下返回键就退出app提升体验优化。1、这个功能需
- 安装配置完Java的jdk,下面就开始写第一个java程序--hello World.用来在控制台输出“Hello World”。首先,我们
- Java类的加载说明Java类的编译代码都存在于它自己的独立文件中(class),该文件只在需要使用程序代码时才会被加载。类加载在创建类的第
- 我贴c#的代码: namespace IWebs.Webs{ using System; using System.Web.Services
- 关于Android的自定义控件,之前也写了两个,一个是简单地继承View,另一个通过继承Layout实现一个省市联动控件。这篇,将通过继承V
- 简介DataBinding 是 Jetpack 组件之一,适用于 MVVM 模式开发,也是Google官方推荐使用的组件之一。使用DataB
- 一、NIOjava.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO) ,为所
- 本文介绍Android平台进行数据存储的五大方式,分别如下:1 使用SharedPreferences存储数据2 文件存储数据 &
- 在需要线程同步的时候如何选择合适的线程锁?例:选择可以存入到常量池当中的对象,String对象等public class SyncTest{
- 前些天,有一个需求要用SpringBoot的多环境,当时没有系统学习springboot ,所以在网上找来找去的找到了一个解决方案,并写了一
- 有时候我们从数据库中查询出来数据之后,需要按照DataTable的某列进行分组,可以使用下面的方法实现,代码如下:using System;
- 序言:事件:此web项目的功能及其简单,就是有客户端来访问redis序列号服务时发送jison报文,项目已经在测试环境成功运行2周了,具体的
- SpringBoot找不到映射文件org.apache.ibatis.binding.BindingException: Invalid b
- 最近项目需要用到可以滑动删除并且带有上拉加载下拉刷新的Listview,查阅了一些资料,大多都是在SwipeMenuListView的基础上
- 通过URL来获取网络资源并下载资源简单实例:package com.android.xiong.urltest; import java.i
- 这篇文章主要介绍了springboot @Configuration @bean注解作用解析,文中通过示例代码介绍的非常详细,对大家的学习或
- Mybatis Criteria条件查询CriterionCriterion是最基本,最底层的Where条件,用于字段级的筛选。Criter
- 目录环境依赖数据源方案一 使用 Spring Boot 默认配置方案二 手动创建脚本初始化使用 JdbcTemplate 操作实体对象DAO
- 微服务通过Feign调用进行密码安全认证在项目中,微服务之间的通信也是通过Feign代理的HTTP客户端通信,为了保护我们的业务微服务不被其
- PDF文件和图片文件,这是两种完全不一样的格式,可是有的时候这两种格式却是有相互转换的需要,大家在工作中遇到PDF文件转图片文件的问题时是怎