您的位置:首页 > 教育 > 锐评 > 黑龙江新闻联播直播今天视频_开发区管委会_南京seo公司排名_济南网站建设老威

黑龙江新闻联播直播今天视频_开发区管委会_南京seo公司排名_济南网站建设老威

2024/12/28 16:33:42 来源:https://blog.csdn.net/aqin1012/article/details/144775459  浏览:    关键词:黑龙江新闻联播直播今天视频_开发区管委会_南京seo公司排名_济南网站建设老威
黑龙江新闻联播直播今天视频_开发区管委会_南京seo公司排名_济南网站建设老威

在Spring Boot环境中使用Apollo配置中心时,需要进行一些基本的配置以确保Apollo能够正确地与Spring Boot应用集成,填坑前我们先对这些配置项进行介绍说明(包括必须配置项和可选配置项),以方便不太了解Apollo配置的同学(了解的请直接跳到填坑部分!!)

必须配置项

这些配置项是使用Apollo时必不可少的:

应用ID(app.id

  1. 用于标识应用的唯一标识符(每个应用在Apollo中都有一个唯一的app.id,用于区分不同的应用配置
  2. 例如:app.id = java-project

Apollo服务发现地址(apollo.meta

  1. 指定Apollo配置服务的地址,应用通过这个地址来获取在Apollo中配置的信息
  2. 例如:apollo.meta = http://apollo.meta

是否启用Apollo(apollo.bootstrap.enabled

  1. 一个布尔值,用于指示是否启用Apollo配置中心(true表示启用/false表示不启用)
  2. 例如:apollo.bootstrap.enabled = true

可选配置项

这些配置项是非必须的,可以按需选择:

是否在日志系统初始化前加载Apollo配置(apollo.bootstrap.eagerLoad.enabled

  1. 控制是否在日志系统初始化之前加载Apollo配置(!!!这个配置是本文这个坑的关键)
    1. false:配置加载发生在 Spring Boot 应用的 Environment 准备阶段,日志系统初始化之后
    2. true:配置加载提前到日志系统初始化之前,允许应用在启动时就能使用 Apollo 中的配置
  2. 例如:apollo.bootstrap.eagerLoad.enabled=true

命名空间(apollo.bootstrap.namespaces

  1. 指定需要加载的Apollo命名空间,默认为application,如果有多个命名空间,可以用逗号分隔
  2. 例如:apollo.bootstrap.namespaces = application

安全拉取密钥(apollo.accesskey.secret

  1. 用于Apollo的安全认证,保护配置不被未授权访问
  2. 例如:apollo.accesskey.secret = xx

集群配置(apollo.cluster

  1. 指定应用所在的集群,用于区分不同环境的配置
  2. 例如:apollo.cluster = hk

缓存路径(apollo.cacheDir

  1. 指定Apollo配置的本地缓存路径,以便在配置中心不可用时使用本地缓存
  2. 例如:apollo.cacheDir = /opt

配置顺序(apollo.property.order.enable

  1. 控制是否保持与Apollo配置页面的配置顺序一致
  2. 例如:apollo.property.order.enable = true

补充~~

  • 配置注入:Spring Boot的配置会通过@Value注解注入到应用中。
  • 配置更新:Apollo支持动态配置更新,当配置中心的配置发生变化时,应用可以实时接收到这些变化并应用新的配置。
  • 安全性:使用apollo.accesskey.secret可以增加配置的安全性,防止未授权的访问。

基础知识补充完毕~~我们开始填坑!

前坑回顾

这是一个使用了Apollo配置的项目,类似的项目有两三个,但是只有这个项目(我们姑且称它为项目X)没有采集到日志,我前后对比了Apollo中的配置项,项目中的日志配置文件,但一直没找出项目X日志采集不到的原因,直到有一天一位大哥在查看项目的.yml文件时,发现……

# 服务器
server:port: 8080
app:# apollo应用idid: account
env: DEVapollo:configService: xxxmeta: xxxcacheDir: ./bin/apollo-configbootstrap:enabled: trueeagerLoad:enabled: false

可以看到里面有一个apollo.bootstrap.eagerLoad.enabled=true

就像文章一开始介绍的,这个值决定了 Apollo 配置中心的配置是否在 Spring Boot 应用启动阶段被提前加载(这对于确保应用的日志系统能够按照 Apollo 中的配置正确初始化非常有用),我立面对比了别的项目,这个配置都是清一色的true。。。

于是当把项目X设置为apollo.bootstrap.eagerLoad.enabled=true以后,日志就采集到了!!!

填坑完毕~~~~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com