配置中心的说明

为什么要使用配置中心?

常见的配置中心(nacos 和携程的Apollo)

1.配置文件的加载顺序

配置中心(优先级最高) -> ①bootstrap.yml -> ②bootstrap.properties -> ③application.yml -> ④application.properties

2.日志的定义

1.

%d{HH: mm:ss.SSS}——日志输出时间
%thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用
%-5level——日志级别,并且使用5个字符靠左对齐
%logger{36}——日志输出者的名字
%msg——日志消息
%n——平台的换行符
ThresholdFilter为系统定义的拦截器,例如我们用ThresholdFilter来过滤掉ERROR级别以下的日志不输出到文件中。如果不用记得注释掉,不然你控制台会发现没日志~
2.定义日志级别

logging.level.com.cy: trace / debug / info / warn / error

3.Nacos 的动态刷新机制

   对于nacos配置中心而言,有系统内部对配置变化的感知,还有外部系统对配置的感知,加入我们想在浏览器中能看到日志级别的变化如何实现?

1.添加获取日志级别的方法(trace<debug<info<warn<error)的方法

2.在类上添加注解@RefreshScope

其中 @RefreshScope的作用是在配置中心的配置发生变化后,能够及时看到类中属性值的更新(底层通过创建controller对象的方式,对属性进行了重新初始化)Controller编写好以后,启动配置中心服务进行访问测试

4.小结面试分析

--配置中心一般配置什么内容?  (会经常变化的配置信息,例如连接池,日志,线程池,限流熔断规则)

--什么配置信息一般不会写到配置中心? (服务器端口,服务名,服务的注册地址,配置中心 )

--项目为什么要定义bootstrap.yml文件?(此文件优先级较高,可以在服务启动时读取配置中心 的数   据  bootstrap.yml--bootstrap.peroprties--application.yml--application.properties)

--Nacos配置中心宕机了,我们的服务还可以读到信息吗? (可以从内存读取,客户端获取配置中心的新配置信息之后 会在本地内存中存储一份)

--微服务应用中我们的客户端如何获取配置中心的信息? (我们的服务一般首先会从内存读取配置信息,同时我们的微服务还可以定时向nacos配置中心发请求拉取(pull)更新的配置信息 )

--微服务应用中客户端如何感知配置中心数据变化?(当数据发生变化时,nacos找到他维护的客户端,然后通知客户端去获取更新的数据 ,客户端获取数据以后更新本地内存,并在下次访问资源时刷新@Value注解描述的属性值,需要借助@RefreshScope注解对属性所在的类进行描述)

--服务启动后没有从配置中心获取我们的配置数据是什么原因?  ( 依赖,配置的文件名bootstrap.yml,配置中心的dataId名字是否正确 分组是否正确,配置的名字是否正确, 缩进关系是否正确 ,假如是动态发布,类上是否有@RefreshScope的注解)

--项目中使用的日志规范是什么? (SLF4J)

5.Nacos配置管理模型

 

  • Namespace:命名空间,对不同的环境进⾏隔离,⽐如隔离开发环境和⽣产环境。
  • Group:分组,将若⼲个服务或者若⼲个配置集归为⼀组。
  • Service/DataId:某⼀个服务或配置集,一般对应一个配置文件。

6.Tomcat请求分析

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值