SpringCloud - Nacos 服务配置中心面试题

    • 1. 什么是配置中心
    • 2. 为什么要使用配置中心
    • 3. 市场上有哪些主流的配置中心
    • 4. 配置中心一般都会配置什么内容
    • 5. 什么信息一般不会写到配置中心
    • 6. 项目中为什么要定义bootstrap.yml文件
    • 7. Nacos配置中心宕机了,我们的服务还可以读取到配置信息吗
    • 8. 微服务应用中我们的客户端如何获取配置中心的信息
    • 9. 微服务应用中客户端如何感知配置中心数据变化
    • 10. 服务启动后没有从配置中心获取我们的配置数据是什么原因
    • 11. 你项目中使用的日志规范是什么
    • 12. 你了解项目中的日志级别吗
    • 13. Nacos配置管理模型的背景
    • 14. Nacos配置中的管理模型是怎样的
    • 15. Nacos客户端(微服务)是否可以读取共享配置
    • 16. 配置中心的选型
    • 17. Nacos配置中心基本应用
    • 18. Nacos配置变更的动态感知
    • 19. 为什么需要配置中心
    • 20. 配置中一般要配置什么内容
    • 21. Nacos客户端(微服务业务)如何动态感知配置中心数据变化的

1. 什么是配置中心

  • 存储项目配置信息的一个服务

2. 为什么要使用配置中心

  • 集中管理配置信息,动态发布配置信息

3. 市场上有哪些主流的配置中心

  • Apollo,nacos,……

4. 配置中心一般都会配置什么内容

  • 可能会经常变化的配置信息,例如连接池,日志、线程池、限流熔断规则

5. 什么信息一般不会写到配置中心

  • 服务端口,服务名,服务的注册地址,配置中心

6. 项目中为什么要定义bootstrap.yml文件

  • 此文件被读取的优先级比较高,可以在服务启动时读取配置中心的数据

7. Nacos配置中心宕机了,我们的服务还可以读取到配置信息吗

  • 可以从内存,客户端获取了配置中心的配置信息以后,会将配置信息在本地内存中存储一份

8. 微服务应用中我们的客户端如何获取配置中心的信息

  • 我们的服务一般首先会从内存读取配置信息,同时我们的微服务还可以定时向nacos配置中心发请求拉取(pull)更新的配置信息

9. 微服务应用中客户端如何感知配置中心数据变化

  • 当数据发生变化时,nacos找到它维护的客户端,然后通知客户端去获取更新的数据,客户端获取数据以后更新本地内存,并在下次访问资源时,刷新@Value注解描述的属性值,但是需要借助@RefreshScope注解对属性所在的类进行描述

10. 服务启动后没有从配置中心获取我们的配置数据是什么原因

  • 依赖,配置文件名字bootstrap.yml,配置中心的dataId名字是否正确,分组是否正确,配置的名字是否正确,缩进关系是否正确,假如是动态发布,类上是否有@RefreshScope注解

11. 你项目中使用的日志规范是什么

  • SLF4J

12. 你了解项目中的日志级别吗

  • debug,info,error,…,可以基于日志级别控制日志的输出

13. Nacos配置管理模型的背景

  • 环境不同配置不同

14. Nacos配置中的管理模型是怎样的

  • 命名空间-namespace,分组-group,服务实例-dataId

15. Nacos客户端(微服务)是否可以读取共享配置

  • 可以

16. 配置中心的选型

  • 市场活跃度、稳定性、性能、易用

17. Nacos配置中心基本应用

  • 新建,修改、删除配置以后,在Nacos客户端应用配置

18. Nacos配置变更的动态感知

  • 底层原理分析

19. 为什么需要配置中心

  • 动态管理发布配置,无需重启服务,更好保证服务的可用

20. 配置中一般要配置什么内容

  • 经常变化的配置数据-日志级别,线程池、连接池、…

21. Nacos客户端(微服务业务)如何动态感知配置中心数据变化的

  • nacos2.0之前nacos客户端采用长轮询机制每隔30秒拉取nacos配置信息

更多推荐

SpringCloud - Nacos 服务配置中心面试题