微服务解决方案 -- Spring Cloud Alibaba (五)分布式配置中心

不了解此套教程的可以移步之前章节
1.微服务解决方案 – Spring Cloud Alibaba (一)服务的注册与发现
2.微服务解决方案 – Spring Cloud Alibaba (二)服务提供者
3.微服务解决方案 – Spring Cloud Alibaba (三)服务消费者(Feign)
4.微服务解决方案 – Spring Cloud Alibaba (四)服务熔断

分布式配置中心


Spring Cloud Netfilx的时候,使用Config来做配置中心,现在Nacos Config 是现在的代替方案。

服务端


我们把自己的配置文件写入Nacos

在这里插入图片描述
在这里插入图片描述

点击发布即可。

客户端


以提供者为例子添加依赖

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

添加依赖需要一定的时间,删除服务提供者的application.yml,并且创建bootstrap.properties

## 配置名
spring.application.name=service-provider-config
## Nacos 
spring.cloud.nacos.config.server-addr=192.168.0.108:8848
## 使用的是yaml 默认是properties
spring.cloud.nacos.config.file-extension=yaml

在这里插入图片描述
启动以后可以看到我们确实能读取到配置。

动态刷新配置


Nacos Config还有一个特点是可以动态刷新配置。我们先在云配置文件上一些自己的配置。
在这里插入图片描述
修改服务提供者

@RefreshScope  // 打开动态刷新功能
@RestController
public class EchoController {

    @Value("${server.port}")
    private String port;
    // 注入配置文件的 user 
    @Value("${user}")
    private String user;

    @GetMapping(value = "/echo/{string}")
    public String echo(@PathVariable String string) {
        return "Hello " + user + " Provider " + string + " i am from port: " + port;
    }
}

在这里插入图片描述
接下来将云配置文件的user的值修改,点击刷新,可以看到user的值已经修改。
在这里插入图片描述

发布了27 篇原创文章 · 获赞 4 · 访问量 908

猜你喜欢

转载自blog.csdn.net/weixin_42126468/article/details/103837225
今日推荐