SpringCloud Zookeeper配置中心详解

导读:本篇文章讲解 SpringCloud Zookeeper配置中心详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

环境: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配置中心详解

SpringCloud Zookeeper配置中心详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80045.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!