SpringCloud Zookeeper配置中心详解

95 篇文章 3 订阅
60 篇文章 2 订阅

环境:Spring Boot 2.3.9 + Spring Cloud Hoxton.SR8


服务发现注册请参考《SpringCloud Zookeeper服务发现及负载均衡 》

zookeeper安装配置请参考《Kafka(zookeeper)环境配置超级详细 》

zkui安装配置

zkui是一个web界面的管理工具,虽然难看不好用,但总比敲命令舒服些。

SpringCloud Zookeeper配置中心详解

下载地址

  • 构建
mvn clean install
  • 修改配置文件

config.cfg

修改该文件的zkServer节点

SpringCloud Zookeeper配置中心详解

 

将构建后的target目录下的两个jar包复制到docker目录下,config.cfg也拷贝到docker目录下:

SpringCloud Zookeeper配置中心详解

 

修改Dockerfile文件如下内容(我按照官方文档行不通)

FROM java:8
MAINTAINER ym
ADD zkui-*.jar  zkui.jar
ADD config.cfg  config.cfg
ENTRYPOINT ["java","-jar","zkudocker run -d --restart=always --name zkui  -p 9090:9090  zkui:2.0 i.jar"]
EXPOSE 9090
  • 执行命令
docker build -t zkui:2.0 .
  • 运行容器实例
docker run -d --restart=always --name zkui  -p 9090:9090  zkui:2.0 

启动完后 访问

用户名/密码 admin/manager

SpringCloud Zookeeper配置中心详解

 

到此zkui的工具就按照完成了,接下来写一个配置信息导入到zkui中,内容如下

SpringCloud Zookeeper配置中心详解

 

/config : 是配置的根目录

app-config : 是应用的名称spring.application.name,

dev : spring.profiles.active 对应的配置

应用配置

  • 依赖
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-zookeeper-config</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
</dependency>	
  • bootstrap.yml配置文件
spring:
  cloud:
    zookeeper:
      enabled: true
      connectString: 118.24.111.33:2181,118.24.111.33:2182,118.24.111.33:2183
      connectionTimeout: 3000
---
spring:
  application:
    name: app-config
---
spring:
  profiles:
    active:
    - dev
---
spring:
  cloud:
    zookeeper:
      config:
        enabled: true
        root: /config
        defaultContext: ${spring.application.name}
        watcher:
          enabled: true

关于bootstrap.yml配置文件请参考《SpringBoot配置文件你了解多少? 》

  • application.yml配置文件
spring:
  datasource:
    driverClassName: ${driverClassName}
    url: ${jdbcUrl}
    username: ${username}
    password: ${password}
    type: com.zaxxer.hikari.HikariDataSource
    hikari:
      minimumIdle: 10
      maximumPoolSize: 200
      autoCommit: true
      idleTimeout: 30000
      poolName: MasterDatabookHikariCP
      maxLifetime: 1800000
      connectionTimeout: 30000
      connectionTestQuery: SELECT 1

这里的${xxx} 就是通过bootstrap.yml中配置的配置中心获取的。

  • 测试启动服务查看是否报错

SpringCloud Zookeeper配置中心详解

 

正常启动,说明配置成功了。接下来通过一个接口获取配置信息,查看是否能实时更新

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
	@Value("${username}")
	private String username ;
	@GetMapping("/get")
	public Object info() {
	    return username ;
	}
}

注意:这里不要在类上添加@RefreshScope注解

SpringCloud Zookeeper配置中心详解

 

通过zkui修改配置

SpringCloud Zookeeper配置中心详解

 

刷新页面

SpringCloud Zookeeper配置中心详解

 

完毕!!!

给个关注+转发

SpringCloud Zookeeper配置中心详解

 

SpringCloud Zookeeper配置中心详解

 

SpringCloud Zookeeper配置中心详解

 

SpringCloud Zookeeper配置中心详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值