Zookeeper作为配置中心使用说明
为了保证数据高可用,那么我们采用Zookeeper作为配置中心来保存数据。SpringCloud对Zookeeper的集成官方也有说明:spring_cloud_zookeeper
这里通过实践的方式讲解下使用方式。
1、添加依赖包
<!-- 运维监控 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Web 应用程序-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 提供zookeeper - config -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-config</artifactId>
</dependency>
配置说明:
org.springframework.cloud#spring-cloud-starter-zookeeper-config是zookeeper作为配置中心的配置项目。若是web工程需要添加
org.springframework.boot#spring-boot-starter-web。配置项目
org.springframework.boot#spring-boot-starter-actuator是用来与zookeeper通信使用的
2、添加配置文件
在bootstrap.properties文件下添加 以下配置
spring.application.name=config-demo
spring.profiles.active=dev
#ZooKeeper的连接字符串,如果是集群,逗号分隔节点,格式:ip:port[,ip2:port2,.....]
spring.cloud.zookeeper.connect-string = 192.168.0.1:2181
#指定zookeeper目录的根目录
spring.cloud.zookeeper.config.root = config
#启用zk的配置
spring.cloud.zookeeper.config.enabled = true
spring.cloud.zookeeper.config.profileSeparator = :
配置说明:
请修改
192.168.0.1:2181为项目中的Zookeeper地址,默认是localhost:2181根据以上配置,读取zookeeper中的地址为: /config/config-demo:dev
登录zookeeper需要手动创建,或使用zkui来界面维护
3、在Zookeeper中手动创建配置
示例:
[zk: localhost:2181(CONNECTED) 3] create /config/config-demo:dev
Created /config/config-demo:dev
[zk: localhost:2181(CONNECTED) 4] create /config/config-demo:dev/user.name yuesf
Created /config/config-demo:dev/user.name
4、程序中使用
1)创建配置文件
示例: UserProperties.java
package com.example.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
/*
* @auth yuesf
* @data 2019/10/29
*/
@ConfigurationProperties(prefix = "user")
public class UserProperties {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
配置说明:
使用@ConfigurationProperties 特性,标记类为配置文件
2)激活自动装配
在启动类激活配置文件
package com.example.config;
import com.example.config.demo.UserProperties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
/*
* @auth yuesf
* @data 2019/11/12
*/
@EnableConfigurationProperties(value = {UserProperties.class })
@SpringBootApplication
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class,args);
}
}
配置说明:
上例代码中
@EnableConfigurationProperties(UserProperties.class)是把UserProperties.class 激活配置
3)程序调用配置
示例:调用配置中心的user.name 变量
package com.example.config.controller;
import com.example.config.demo.UserProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/*
* @auth yuesf
* @data 2019/11/12
*/
@RestController
public class UserController {
@Autowired
private UserProperties userProperties;
@GetMapping("/user")
public String getUser(){
return userProperties.getName();
}
}
5、界面式维护
http://192.168.0.2/login
帐号 admin 密码admin@123
再次感谢!!! 您已看完全文,欢迎关注微信公众号猿码 ,你的支持是我持续更新文章的动力!
Zookeeper作为配置中心使用说明的更多相关文章
- Zookeeper系列四:Zookeeper实现分布式锁、Zookeeper实现配置中心
一.Zookeeper实现分布式锁 分布式锁主要用于在分布式环境中保证数据的一致性. 包括跨进程.跨机器.跨网络导致共享资源不一致的问题. 1. 分布式锁的实现思路 说明: 这种实现会有一个缺点,即当 ...
- zookeeper作配置中心(存储支付信息)
zookeeper作配置中心(存储敏感信息) 前提:最近在项目中需要用到支付接口,支付宝或者微信支付,根据官方文档,需要配置一些诸如notify-url或者app-private-key等信息,这些信 ...
- ZooKeeper实现配置中心的实例(原生API实现)(转)
说明:要实现配置中心的例子,可以选择的SDK有很多,原生自带的SDK也是不错的选择.比如使用I0Itec,Spring Boot集成等. 大型应用通常会按业务拆分成一个个业务子系统,这些大大小小的子应 ...
- 基于Apache Zookeeper手写实现动态配置中心(纯代码实践)
相信大家都知道,每个项目中会有一些配置信息放在一个独立的properties文件中,比如application.properties.这个文件中会放一些常量的配置,比如数据库连接信息.线程池大小.限流 ...
- .Net配置中心-Zookeper版
简介 zookeeper的基本概念和作用这里不做介绍,现在很多的公司都在使用它,说起它的作用,可能最先想到的是配置中心,可以将配置项作为一个node存储在zookeeper中,其他应用可以“关注 ...
- zookeeper配置中心实战--solrcloud zookeeper配置中心原理及源码分析
程序的发展,需要引入集中配置: 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关.参数的配置.服务器的地址…… 并且对配置的期望也越来越高,配置修改后实时生效,灰度发布,分环境.分集群管理配 ...
- ASP.Net Core 中使用Zookeeper搭建分布式环境中的配置中心系列一:使用Zookeeper.Net组件演示基本的操作
前言:马上要过年了,祝大家新年快乐!在过年回家前分享一篇关于Zookeeper的文章,我们都知道现在微服务盛行,大数据.分布式系统中经常会使用到Zookeeper,它是微服务.分布式系统中必不可少的分 ...
- springcloud集成zookeeper,并使用configserver作为服务的配置中心
1.springcloud集成zookeeper: 做法: 出现问题: 版本不一致导致出现keepError: 解决:服务器的zookeeper要与客户端的zookeeper一致,才可以. 2.使用c ...
- Zookeeper笔记之基于zk的分布式配置中心
一.场景 & 需求 集群上有很多个节点运行同一个任务,这个任务会有一些可能经常改变的配置参数,要求是当配置参数改变之后能够很快地同步到每个节点上,如果将这些配置参数放在本地文件中则每次都要修改 ...
随机推荐
- LitePal的存储操作
传统的存储数据方式 其实最传统的存储数据方式肯定是通过SQL语句拼接字符串来进行存储的,不过这种方式有点过于“传统”了,今天我们在这里就不讨论这种情况.实际上,Android专门提供了一种用于存储 ...
- 给老师安排课表JAVA项目及登录窗口的实现
实现一个安排课表的Java实验. 有以下几点要求: ①用所给的教师姓名进行课表安排 ②用所给的地点进行课表安排 ③不得有重复的课程名称出现 ④将信息写入到文件里 ⑤用窗口来进行实现 package c ...
- 2. spring 应用之IOC
本文是作者原创,版权归作者所有.若要转载,请注明出处 我们知道Spring Framework 最重要的功能就是IoC (Inversion of Control ),也叫DI(dependency ...
- Spring Cloud Alibaba(一) 如何使用nacos服务注册和发现
Nacos介绍 Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. Nacos 帮助您更敏捷和容易地构 ...
- 2019滴滴java面试总结 (包含面试题解析)
2019滴滴java面试总结 (包含面试题) 本人6年开发经验.今年年初找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是既有php也有Java后端开发,最终选择去了滴滴 ...
- Comparable和Comparator 是什么以及区别
一.Comparable和Comparator Comparable可以认为是一个内比较器,实现了Comparable接口的类,类的实例与实例直接可以比较,依赖compareTo方法的实现,compa ...
- [NOIp2014] luogu P2296 寻找道路
不知道是因为我菜还是别的,最近老是看错题. 题目描述 在有向图 GGG 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 路径上的所有点的出边所指向 ...
- 玩转PubSubClient MQTT库
1.前言 在ESP8266学习系列中,博主一直使用HTTP协议.HTTP连接属于短连接,而在物联网应用中,广泛应用的却是MQTT协议.所以,本篇我们将学习Arduino平台上的MQTT实现库 ...
- MyBatis 示例-联合查询
简介 MyBatis 提供了两种联合查询的方式,一种是嵌套查询,一种是嵌套结果.先说结论:在项目中不建议使用嵌套查询,会出现性能问题,可以使用嵌套结果. 测试类:com.yjw.demo.JointQ ...
- Android SDK安装与环境变量的配置(windows系统)
(一)下载Android SDK压缩包 解压后即可(全英文路径,以免后续出现乱码) (1)下载地址:http://tools.android-studio.org/index.php/sdk