微服务|微服务004-Nacos服务配置中心应用

服务配置中心 背景: 假如生产环境下,项目现在正在运行,此时修改了配置文件,我们需要让这些配置生效,通常的做法是不是要重启服务。但重启是不是会带来系统服务短时间的暂停,从而影响用户体验呢,还有可能会带来经济上的很大损失(例如双11重启下服务)。基于这样的背景,服务配置中心诞生了。

  • 什么是配置中心?(存储项目配置信息的一个服务)
  • 为什么要使用配置中心?(集中管理配置信息,动态发布配置信息)
  • 市场上有哪些主流的配置中心?Apollo(携程开源),nacos(阿里开源),Spring Cloud Config(Spring Cloud 全家桶成员)
因为阿里能抗得过双十一,所以我们照样还是用Nacos的服务配置中心
服务配置中心实践 1.添加依赖 因为我们会用消费方调用提供方,所以拿提供方sca-provider做实验,所以依赖加在提供方中
微服务|微服务004-Nacos服务配置中心应用
文章图片

2.修改配置文件信息 将项目中的application.yml的名字修改为bootstrap.yml配置文件(启动优先级最高),代码如下:
微服务|微服务004-Nacos服务配置中心应用
文章图片

3.新建Nacos配置 微服务|微服务004-Nacos服务配置中心应用
文章图片

这里后缀为yml我已经改过来了
微服务|微服务004-Nacos服务配置中心应用
文章图片

Data ID为 bootstrap.yml 中定义的spring.application.name的值相同(服务名-假如有多个服务一
般会创建多个配置实例,不同服务对应不同的配置实例)。后缀加不加yml都行
因为yml中已经定义好了。
4.配置中心动态发布测试 在controller类中写测试方法
微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片

@slf4j 门面模式,自动创建log日志接口,等同于写了如下代码
微服务|微服务004-Nacos服务配置中心应用
文章图片

测试:
【微服务|微服务004-Nacos服务配置中心应用】微服务|微服务004-Nacos服务配置中心应用
文章图片

此时我们修改日志等级
微服务|微服务004-Nacos服务配置中心应用
文章图片

此时可以看到我们不用重启服务器就能配置服务的日志输出级别,且能输出info级别以上的日志。
微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片

5.命名空间举一反三:我们如果服务多个,且想要不同配置时,我们可以创建多个命名空间
根据Group更清晰的结构来管理我们的配置
微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片


微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片

但是有两个命名空间,nacos会使用我们那个空间里的中心配置呢?这时候就要说到我们的命名空间ID了
微服务|微服务004-Nacos服务配置中心应用
文章图片
可见咱们的命名空间ID为195a43f6-2b9f-4935-9c13-4249698404cc
6.编辑配置文件

微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片


发布第二个中心配置
微服务|微服务004-Nacos服务配置中心应用
文章图片


微服务|微服务004-Nacos服务配置中心应用
文章图片

微服务|微服务004-Nacos服务配置中心应用
文章图片


springboot修改默认日志配置 1.添加依赖
微服务|微服务004-Nacos服务配置中心应用
文章图片

因为咱们前面加的
  • spring-boot-starter-web依赖已经依赖logging了所以无需加
微服务|微服务004-Nacos服务配置中心应用
文章图片


%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n:
%d表示当前时间,{yyyy-MM-dd HH:mm:ss}表示时间格式。
%thread表示线程名称。
%‐5level:日志级别从左显示5个字符宽度。
%logger{50} 表示logger名字最长50个字符,否则按照句点分割。
%msg:日志详细消息。
%n:换行。

    推荐阅读