Springcloud结合zookeeper配置中心

【Spring Cloud 2023】【ZooKeeper】配置中心 本文介绍开发Spring Cloud应用集成ZooKeeper实现配置中心。本文引入 Apache Curator 是为了辅助测试配置中心相关功能;配置项说明::全局配置节点名称,默认。:默认true,启用ZooKeeper配置功能。:默认true,查找配置会抛出异常,否则只会记录警告日志。:替代用于在ZooKeeper中查值。:附加到应用程序名称的配置文件的分隔符,默认英文逗号。:配置根节点名称,默认config。 阅读详情

Springcloud结合zk实现动态配置

SpringCloud结合git配置不足:需要一个应用作为服务端,并且没有自动监听配置的更改功能。于是我们就借助zk来帮我们完成这个通知。

  • 安装zk
    首先我们需要一个zk集群。下载地址 我们的项目需要配置ssh能够直接访问集群,测试就直接在本地进行。

  • 安装zkui
    因为配置文件统一在zk上管理。所以安装个zkui方便修改(安装方式如下)。登录端口默认 9090。http://localhost:9090

git clone https://github.com/DeemOpen/zkui.git
cd zkui/
# 根据自身集群修改config.cfg 下面zkServer,userSet(登录账户)
mvn clean install
cp config.cfg target
# 启动
java -jar target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
  • pom 配置
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 提供zookeeper整合的包 -->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-zookeeper-config</artifactId>
    </dependency>
    <!-- 提供自动监听的 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
  • 定制属性配置
    SpringCloud官方文档 ,搜索 Distributed Configuration with Zookeeper,下面有写着bootstrap.yml/bootstrap.properties配置,因为springboot加载文件顺序,zookeeper相关配置需要放到这个文件,而不能放到application.properties中。建议配置参照官网教程(不然人家写的东西可能忽略某些细节)下面是我的bootstrap.properties
spring.application.name=didispace
#根据自身环境
spring.profiles.active=dev
#指定zookeeper的地址,多个用逗号拼接
spring.cloud.zookeeper.connect-string=localhost:2181
#指定springcloud 读取zookeeper路径的开始位置。选取你自己的目录
spring.cloud.zookeeper.config.root=/config
#开始zk的配置
spring.cloud.zookeeper.config.enabled=true
#是否监听配置
spring.cloud.zookeeper.config.watcher.enabled=true
#配置文件分隔符
spring.cloud.zookeeper.config.profile-separator=-

server.port=7001
  • 测试类
@SpringBootApplication
@RefreshScope
@RestController
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }

    @Value("${from}")
    private String from;

    @RequestMapping("/from")
    //动态修改配置文件的值。
    public String from() {
        return this.from;
    }
}

读取配置路径:
/{root}/{application-name}-{profile}
/{root}/{application-name}
根据我们这里的{root} 为 config,profile分隔符取你们自定义的,默认为‘,’。{profile}的话我这里是dev。

  • 写入配置到zk
    方式一:通过手动添加Node(目录)和属性。我这里根据之前properties配置创建也config目录。再创建didispace-dev,然后添加一个Property,key=from。value=test
    zkui
    方式二:点击Import导入文件。txt格式:/{root}/{application-name}-{profile}={key}={value}。所以对于我的配置txt:/config/didispace-dev=from=test

  • 测试
    配置完成后就剩下测试了。如果能正常启动,并且有 State change: CONNECTED的日志就是链接zk成功了。然后我们修改配置from的值为dev,打开REST Client或者Postman等测试工具发一个 localhost:7001/from 请求,如果请求返回dev那就完成。

java框架篇spring cloud之spring config server 1.前言 什么是spring cloud? Spring cloud为用户提供了一整套快速开发分布式应用的解决方案,包括配置管理,服务发现,断路开关,智能路由,微代理,控制总线,一次token,全局锁,leader选举,分布式session,集群状态等功能。spring boot作为spring cloud等基础应用,可以快速搭建一个微服务。 2.功能点 Distributed/versi... 阅读详情

相关推荐

Android13配置selinux让system应用可读sys,proc,SN号

Android13预置的system应用,需要读/sys, /proc目录,读(SN)serial number号, 需要修改selinux配置,否则会报avc错.其修改方法会比Android11复杂一些.。

zmlovelx(帅得不敢出门 程序员群31843264) 2654

Spring Cloud 中使用zookeeper作为服务注册中心与配置中心

Spring Cloud 中使用zookeeper作为服务注册中心与配置中心

码农 3万+

6.Burp Suite 入门篇 —— Burp Scanner 漏洞扫描

Burp Scanner 既可以是独立的全自动扫描器,也可以在手动测试中当作强大的辅助手段,而且随着技术改进,Burp Scanner 能检测到的漏洞数量也在不断增加。Burp Scanner 功能只在 burpsuite 专业版和企业版中里有,本篇教程讲的是专业版的 Burp Scanner 用法。

YouTheFreedom的博客 1万+

spring-cloud-config,spring-cloud-zookeeper,spring-cloud-bus(kafka)配置中心服务自动更新配置总结

spring-cloud-config spring-cloud-zookeeper spring-cloud-bus(kafka)实现自动化更新服务项目总结 备注:整个过程基于IntelliJ IDEA,整个工程基于父项目版本如下: <parent> <groupId>org.springframework.boot</groupId> <a...

721

字符串尾部空格的迷思:深入解析 ABAP 隐式转换规则与 `strlen` 意外结果

看似简单的strlen之谜,背后实则是 ABAP 隐式转换的一整套严谨规则。只要开发者在赋值、输出、接口映射等关键节点建立“尾部空格意识”,辅以CONVCONDENSE等显式手段,就能有效杜绝多余空格引发的链式故障。希望本文的拆解与案例,能让你在面对下一个“异常长度”时,从容而笃定地给出正确答案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 430

按照CANoe模板制作seed&&key.dll

在canoe进行诊断测试的时候,在0x27服务中需要制作一个dll文件。可在canoe的诊断中进行加载,也可用于diva的自动化测试。 本文按照canoe提供的KeyGenDll_GenerateKeyEx模板制作。 KEYGENALGO_API VKeyGenResultEx GenerateKeyEx( const unsigned char* iSeedArray, /* Array for the seed [in] */ unsigned int

天赐好车的博客 6520

Zookeeper的使用小结

1.首先,先了解下zookeeper吧,这篇文章总结的很好:【分布式】Zookeeper应用场景 2.那么,接下来就是在项目中引入依赖包:Zookeeper依赖包 3.把Log4j也配置一下,方便调试: ### set log levels ### log4j.rootLogger=INFO,console #log4j.logger.com.neu.dao.IStudentDao=t...

BAStriver的博客 1113

【异常】Openclaw Gateway进程异常停止问题分析与解决方案

本文分析了Gateway服务异常停止的问题,提出了三种解决方案。核心问题是缺乏进程守护和自动恢复机制,导致服务崩溃后无法自行重启。推荐方案是使用PM2进程管理工具(方案1),提供进程监控、自动重启和开机自启功能。替代方案包括自定义守护脚本(方案2)和supervisord管理(方案3)。这些方案都能有效解决当前服务脆弱性问题,显著提升服务可用性,其中PM2方案成熟度高、配置简单,是首选解决方案。实施后可将服务从人工干预转变为自动恢复,确保业务连续性。

奶爸的编程之路,也就一周冷个三天 456

【Dubbo】Dubbo使用小记

上文我们搭建好了服务器上的zookeeper服务,暴露在<公网ip>:2182下。接下来就可以使用zookeeper作为注册中心进行rpc调用了。 这里主要记录一下使用注解的方式配置。还有xml和Api的方式,这篇文章https://segmentfault.com/a/1190000019896723讲的很详细,可以作为参考。 和SofaRpc一样,服务提供者和服务消费者都需要保证接口的包名完全一致,如果接口返回对象,也需要实现java.io.Serializable,而且尽可能保证包名类.

Vaskka的博客 540

linux那些事之numa balance

numa balance numa balance是页迁移技术最重要也是最开始使用应用的技术,主要是为解决由于调度器进程在两个node迁移造成访问内存性能问题。 numba balance通过页迁移技术,将不在运行节点的内存迁移到所运行的节点上。对应numa balance要注意几点: 防止进程在两个节点之前来回切换造成频繁进行页迁移(ping pang现场)从而影响性能。numa balance本身就是为了提高性能,不能因为造成频繁页迁移而对性能进行一个反向优化。 多个线程分布在不同线程 访.

weixin_42730667的博客 3908

基于Vivado MIG IP核的DDR3读写实验(top_rom_ddr/ddr_top)

一、前言 关于Vivado MIG IP核详细配置可以参考我之前的文章:基于Vivado MIG IP核的DDR3控制器(DDR3_CONTROL) 关于MIG IP核的用户端的接口时序可以参考这篇文章:XILINX 的 MIG IP(非AXI4)接口时序以及控制 二、实验内容 本次实验的内容主要是通过MIG IP核向DDR3读写数据,DDR3的接口时序由ddr_top模块提供: ddr_top模块的数据来源是wr_fifo,wr_fifo的数据实际来自top_sd_photo模块(本实验仿真

耐心的小黑的博客 3027

Heron集群常用命令

Zookeeper集群 查看zookeeper集群运行状态: yitian@heron01:~$ ./zookeeper/zookeeper-3.4.10/bin/zkServer.sh status 查看2181端口占用情况: yitian@heron01:~$ su root root@heron01:/home/yitian# netstat -nltp|grep 2181 t...

Blossom 518

基于STM32的智能鱼缸设计

为了缓解学习、生活、工作带来的压力,提升生活品质,许多人喜欢在家中、办公室等场所养鱼。为节省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,可通过控制键进行一键控制。...

1万+

精华!分布式配置中心 Zookeeper SpringCloud-Config 和 Apollo 配置中心选型对比

文章目录一、配置中心的优势二、SpringCloud Config + SpringCloud Bus作为配置中心和消息总线2.1 Server服务端说明2.2 Client客户端说明2.3 spring-config 流程图2.4 spring-config 特点三、Spring Cloud Zookeeper Config3.1 选举Leader算法3.2 Zookeeper作为配置中心的特点四、携程Apollo配置中心---最全面的配置中心4.1 Apollo配置中心的流程描述4.2 Apollo配置

qq_34168515的博客 2567

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Spring Cloud 微服务之配置中心解决方案

关于注册中心这一篇博文,本来想分很多篇去介绍的,但是仔细想想,觉得太繁复而且啰嗦,所以还是写一篇介绍其中的核心原理,并不做任何示例,如果想要查看具体用法可以自行查看官方文档或者度娘。因为配置中心太多了,不说其他的Spring Cloud就集成了好几种框架作为配置中心比如:Spring Cloud Config, Archaiu,Consul, Spring Cloud Zookeeper ,Alibaba Nacos等。每个公司都有不同的选择,不可能一一的去列举,重点是掌握核心,当遇到新的配置中心的时候能够

微服务技术栈 527

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringCloud(二)

一 声明式服务调用:Feign 在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码: String url = "http://user-service/user/" + id; User user = restTemplate.getForObject(url, User.class); 如果就学到这里,你可能以后需要编写类似的大量重复代码,格式基本相同,无非参数不一样。有没有更优雅的方式,来对这些代码再次优化呢? 这就是我们接下来要学的Feign的功能了。 1 简介 Fe

amspony的博客 418

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SpringCloud注释

Hystrix @HystrixCommand @EnableHystrix 注意:@EnableHystrix注解包含了在8001主配置类上加的@EnableCircuitBreaker注解 @DefaultProperties(defaultFallback = “”)

qq_43372150的博客 224

SpringCloud四个注册中心的比较

一、概述springcloud是一个非常优秀的微服务框架,要管理众多的服务,就需要对这些服务进行治理,也就是我们说的服务治理,服务治理的作用就是在传统的rpc远程调用框架中,管理每个服务与...

qianshanding0708的博客 766

基于Java+SpringBoot+SSM,SpringCloud宠物社区(源码+LW+调试文档+讲解等)/宠物交流平台app/宠物爱好者社区app/宠物社交应用app/宠物互动社区app

前端:Spring+SpringMVC+Mybatis,SpringCloud微服务、网关、注册中心等组件,Maven构建项目jar包,内置Tomcat运行Web环境,后端语言Java后端:SpringBoot+Mybatis数据库:MySQL、SQLServer开发工具:IDEA、Eclipse、Navicat等✌关于毕设项目技术实现问题讲解也可以给我留言咨询!!!MyBatis 是 SSM 中负责数据持久化的关键组件。

2401_88036107的博客 474

基于Java+SpringBoot+SSM,SpringCloud智能垃圾分类助手系统(源码+LW+调试文档+讲解等)/智能垃圾分类软件/垃圾分类助手/智能分类系统/垃圾分类智能应用

前端:Spring+SpringMVC+Mybatis,SpringCloud微服务、网关、注册中心等组件,Maven构建项目jar包,内置Tomcat运行Web环境,后端语言Java后端:SpringBoot+Mybatis数据库:MySQL、SQLServer开发工具:IDEA、Eclipse、Navicat等✌关于毕设项目技术实现问题讲解也可以给我留言咨询!!!MyBatis 是 SSM 中负责数据持久化的关键组件。

2401_88036107的博客 131

Zookeeper作为SpringCloud配置中心

一、背景介绍 在分布式系统中动态配置中,可以避免重复重启服务,动态更改服务参数等。一句话非常重要。 哈哈。 Zookeeper 作为知名的分布式调度系统, 我们也可以利用其作为配置中心,其wacther 主动通知机制, 可以将node 节点数据变更信息及时通知到client 端。 环境依赖 名称 值 备注 JDK 1.8 Consul 1.5.2 注册中心,Consul安装及...

希望我的博客,能解决你工作中的问题 7412

SpringCloud-配置中心 zookeeper

微信公众号:glmapper工作室 掘金专栏:glmapper 微 博:疯狂的石头_henu 欢迎关注,一起学习分享技术 SpringCloud-配置中心 zookeeper环境准备zk &amp; zkuizkzkui配置文件新建 sofa-config-zookeeper依赖引入配置文件启动类资源类启动&amp;验证动态刷新 SpringCloud 除了config自己的...

glmapper_2018 1189

SpringCloud-Config 配置中心原理

微信公众号:glmapper工作室 掘金专栏:glmapper 微 博:疯狂的石头_henu 欢迎关注,一起学习分享技术 SpringCloud-Config 配置中心原理服务端实现@EnableConfigServer 及配置类EnvironmentRepositoryConfigurationMultipleJGitEnvironmentRepositoryAbstrac...

glmapper_2018 6431

如何在SpringCloud2023中快速集成配置中心

SpringCloud项目中集成配置中心可以更加方便的管理多版本的配置,此处使用springcloudconfig作为示例说明。

欢迎关注公众号“雨林寻北”,添加个人微信codetrend(备注技术)。 886

SpringCloud Zookeeper配置中心详解

环境:Spring Boot 2.3.9 + Spring Cloud Hoxton.SR8 服务发现注册请参考《SpringCloud Zookeeper服务发现及负载均衡》 zookeeper安装配置请参考《Kafka(zookeeper)环境配置超级详细》 zkui安装配置 zkui是一个web界面的管理工具,虽然难看不好用,但总比敲命令舒服些。 下载地址 构建 mvn clean install 修改配置文件 config.cfg 修改该文件的zkServer节点 ...

asoklove的专栏 731

springcloud-zookeeper分布式配置中心

springcloud-zoookeeper分布式配置中心 ​ 配置信息一般写在application.yml或者bootstrap.yml文件中,bootstrap.yml文件优先级高。但是分布式配置中心需要读取一些公共的配置和根据不同的项目模块读取不同zk节点的配置信息,所以配置信息应该建立在zk节点下。 1.配置中心所需的zookeeper相关配置 server: port: 9001 spring: application: name: Provider profiles:

weixin_42507606的博客 1292
上一篇: 什么是交叉熵
下一篇: Spark性能优化——基础篇
yyoc97
博客等级 码龄12年 272粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值