聊聊开发中常见几种Spring Cloud Config 的配置文件bootstrap.yml、bootstrap-dev.yml 和 bootstrap-prod.yml

聊聊开发中常见几种Spring Cloud Config 的配置文件bootstrap.yml、bootstrap-dev.yml 和 bootstrap-prod.yml

bootstrap.yml、bootstrap-dev.yml 和 bootstrap-prod.yml 是 Spring Cloud Config 的配置文件,用于获取配置信息并将其应用到应用程序中。它们之间的区别在于它们被加载的顺序和用途,主要用于不同环境下的配置管理。

1. bootstrap.yml
      bootstrap.yml 是 Spring Cloud Config 中用于获取外部配置的特殊配置文件。它的加载优先级比其他配置文件(如 application.yml 或 application.properties)更高。
      bootstrap.yml 主要用于加载一些启动阶段需要用到的配置信息,例如连接到 Spring Cloud Config Server 的配置、加密/解密信息、连接到外部数据库的配置等。因为这些配置信息在应用程序启动的早期阶段就需要用到,所以放在 bootstrap.yml 中确保它们在其他配置之前加载。
      bootstrap.yml 不会被本地配置文件覆盖,它的优先级更高,确保这些关键配置的安全性和准确性。

2. bootstrap-dev.yml
       bootstrap-dev.yml 是 bootstrap.yml 的一个特定的开发环境 profile,用于在开发环境下加载特定的外部配置信息。
      在开发环境中,可能需要与生产环境不同的配置,例如连接到不同的数据库、使用不同的服务地址等。通过使用 `bootstrap-dev.yml` 可以轻松地区分开发环境和其他环境的配置。
      当在开发环境启动应用程序时,Spring Cloud Config 将会加载 `bootstrap.yml` 和 `bootstrap-dev.yml` 的配置,并根据当前激活的 profile(如通过 `spring.profiles.active` 属性指定)加载对应的配置。

3. bootstrap-prod.yml
       bootstrap-prod.yml 是 bootstrap.yml 的一个特定的生产环境 profile,用于在生产环境下加载特定的外部配置信息。
      在生产环境中,可能需要与开发环境或其他环境不同的配置,例如连接到不同的生产数据库、启用更高级别的日志记录等。通过使用 `bootstrap-prod.yml` 可以确保生产环境的配置与其他环境隔离。
      当在生产环境启动应用程序时,Spring Cloud Config 将会加载 `bootstrap.yml` 和 `bootstrap-prod.yml` 的配置,并根据当前激活的 profile(如通过 `spring.profiles.active` 属性指定)加载对应的配置。

4.使用

bootstrap.yml,生产环境下加载特定的外部配置信息(即指定加载哪一个环境的配置信息)

spring:
  profiles:
    active: dev  #指定加载bootstrap-dev.yml的配置信息
   # active: prod  指定加载bootstrap-prod.yml的配置信息
    include: ***monweb,dev

bootstrap-dev.yml

server:
  port: 8080
spring:
  application:
    name: mom-part
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        file-extension: yaml
        group: DEFAULT_GROUP
    i***utils:
      preferred-***works: localhost
  # 允许@FeignClient同名
  main:
    allow-bean-definition-overriding: true
logstash:
  server-addr: localhost:5048
log:
  level: INFO

bootstrap-prod.yml

server:
  port: 8080
spring:
  application:
    name: mom-oe
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        file-extension: yaml
        group: DEFAULT_GROUP
        namespace: production
  # 允许@FeignClient同名
  main:
    allow-bean-definition-overriding: true
# 覆盖***mon-web包下logstash服务地址和日志级别
logstash:
  server-addr: localhost:5048
log:
  level: INFO

总结:
bootstrap.yml 是 Spring Cloud Config 用于获取外部配置的高优先级配置文件,在应用程序启动早期加载,并不会被本地配置覆盖。
bootstrap-dev.yml 是 bootstrap.yml 的一个特定开发环境的 profile,用于在开发环境下加载特定的外部配置信息,通过激活不同的 profile 加载对应的配置。
bootstrap-prod.yml是 bootstrap.yml 的一个特定生产环境的 profile,用于在生产环境下加载特定的外部配置信息,通过激活不同的 profile 加载对应的配置。

转载请说明出处内容投诉
CSS教程_站长资源网 » 聊聊开发中常见几种Spring Cloud Config 的配置文件bootstrap.yml、bootstrap-dev.yml 和 bootstrap-prod.yml

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买