分布式配置与Zookeeper

优质
小牛编辑
206浏览
2023-12-01

Zookeeper提供了一个分层命名空间,允许客户端存储任意数据,如配置数据。Spring Cloud Zookeeper Config是Config Server和Client的替代方案。在特殊的“引导”阶段,配置被加载到Spring环境中。默认情况下,配置存储在/config命名空间中。根据应用程序的名称和模拟解析属性的Spring Cloud Config顺序的活动配置文件,创建多个PropertySource实例。例如,名为“testApp”的应用程序和“dev”配置文件将创建以下属性源:

config/testApp,dev
config/testApp
config/application,dev
config/application

最具体的物业来源位于顶部,底部最不具体。Properties是config/application命名空间适用于使用zookeeper进行配置的所有应用程序。config/testApp命名空间中的Properties仅适用于名为“testApp”的服务实例。

配置当前在应用程序启动时被读取。发送HTTP POST到/refresh将导致重新加载配置。观看配置命名空间(Zookeeper支持))目前尚未实现,但将来将会添加到此项目中。

如何激活

包括对org.springframework.cloud:spring-cloud-starter-zookeeper-config的依赖将启用将配置Spring Cloud Zookeeper配置的自动配置。

定制

Zookeeper可以使用以下属性自定义配置:

bootstrap.yml
spring:
  cloud:
  zookeeper:
   config:
    enabled: true
    root: configuration
    defaultContext: apps
    profileSeparator: '::'
  • enabled将此值设置为“false”将禁用Zookeeper配置
  • root设置配置值的基本命名空间
  • defaultContext设置所有应用程序使用的名称
  • profileSeparator设置用于使用配置文件在属性源中分隔配置文件名称的分隔符的值

spring-cloud.adoc中的未解决的指令 - include :: / Users / sgibb / workspace / spring / spring-cloud-samples / scripts / docs /../ cli / docs / src / main / asciidoc / spring-cloud-cli。 ADOC []