温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

zookeeper(5)配置中心

发布时间:2020-08-08 16:53:58 来源:网络 阅读:450 作者:shayang88 栏目:编程语言

案例

使用Zookeeper作为配置中心,实现配置的修改和自动下发,基于Spriing Cloud我们可以轻松的实现。

添加依赖

pom.xml的关键信息如下

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-config</artifactId>
        </dependency>

启动配置

bootstrap.properties文件

server.port=8082
spring.application.name=waiter-service
spring.cloud.zookeeper.connect-string=localhost:2181 
eureka.client.service-url.defaultZone=http://****:8761/eureka/

应用配置

application.properties,默认配置一个配置项

#默认的配置项,订单折扣率
order.discount=95

启动本地单节点的Zookeeper

服务地址:localhost:2181

zookeeper(5)配置中心

Zookeeper数据如何存储

配置项

/config/应⽤用名,profile/key=value

1、/config是根目录
2、服务名是下一级目录,这里是waiter-service
3、配置的键和值对

配置路径定制

spring.cloud.zookeeper.config.root=config
spring.cloud.zookeeper.config.default-context=application
spring.cloud.zookeeper.config.profile-separator=','

Zookeeper数据准备

1、创建根路径/config
2、创建服务名路径waiter-service
3、配置一个配置项order.discount = 30

zookeeper(5)配置中心

准备Spring配置类

@ConfigurationProperties("order")
@RefreshScope
@Data
@Component
public class OrderProperties {
    private Integer discount = 100;
    private String waiterPrefix = "test-";
}

控制器,访问配置

@RestController
@RequestMapping("/coffee")
@Slf4j
public class CoffeeController {
    @Autowired
    private OrderProperties orderProperties;

    @PostMapping(path = "/getDiscount")
    @ResponseStatus(HttpStatus.CREATED)
    public String getDiscount() {
        return String.valueOf(orderProperties.getDiscount());
    }

访问结果

zookeeper(5)配置中心

更改配置

更新配置数据

zookeeper(5)配置中心

结果自动下发

zookeeper(5)配置中心

程序Console日志

zookeeper(5)配置中心
zookeeper(5)配置中心

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI