Cloud基于Nacos的bootstrap.yml

Cloud基于Nacos的bootstrap.yml

配置pom的dev test uat prod profiles 用于maven打包时可选环境。

节点位于 dependencies dependencyManagement 后面即可。

<profiles>
    <!--步骤一:多环境配置,根据不同的环境将对应的环境变量设置到项目中-->
    <profile>
      <!-- 本地开发环境 -->
      <!--不同环境Profile的唯一id-->
      <id>dev</id>
      <properties>
        <profiles.active>dev</profiles.active>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
    </profile>
    <profile>
      <!-- 测试环境 -->
      <id>test</id>
      <properties>
        <profiles.active>test</profiles.active>
      </properties>
    </profile>
    <profile>
      <!-- uat环境 -->
      <id>uat</id>
      <properties>
        <profiles.active>uat</profiles.active>
      </properties>
    </profile>
    <profile>
      <!-- 生产环境 -->
      <id>prod</id>
      <properties>
        <profiles.active>prod</profiles.active>
      </properties>
    </profile>
  </profiles>

配置项目的 bootstrap.yml

image.png

active: dev 代表选择dev配置作为项目启动配置

bootstrap.yml 内容

spring:
  application:
    name: your-cloud-server1
  profiles:
    active: dev

server:
  port: 8080
  servlet:
    context-path: /your-cloud-server1-path

ribbon:
  ServerListRefreshInterval: 3000

bootstrap-dev.yml (基于dev的) nacos配置

namespace: dev 代表是nacos dev 命名空间下

spring:
  cloud:
    nacos:
      username: nacos
      password: nacos
      config:
        file-extension: yaml
        server-addr: 127.0.0.1:8848
        # 注册命名空间
        namespace: dev
      discovery:
        server-addr: 127.0.0.1:8848
        # 注册命名空间
        namespace: dev

bootstrap-prod.yml (基于prod的) nacos配置

namespace: prod 代表是nacos 正式 命名空间下

spring:
  cloud:
    nacos:
      username: nacos
      password: nacos
      config:
        file-extension: yaml
	#更换为你正式nacos的地址
        server-addr: your.prod.nacos:8848
        # 注册命名空间
        namespace: prod
      discovery:
        server-addr: your.prod.nacos:8848
        # 注册命名空间
        namespace: prod

配置nacos远程的项目配置文件

!>注意对应环境地址下的nacos 需要配置 对应 namespace 的命名空间

image.png

配置好命名空间后在对应的 config.namespace 配置命名空间下创建yaml文件

image.png

image.png

image.png

your-cloud-server1-dev.yaml 文件内容

logging:
  config: classpath:logback-spring.xml
  level:
    com.alibaba.nacos.client.config.impl: DEBUG
    
spring:
  #配置跨域访问
  cloud:
    gateway:
      globalcors:
        corsConfigurations:
          '[/**]':
            allowCredentials: true
            allowedHeaders: '*'
            allowedMethods: '*'
            allowedOrigins: '*'
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
    username: ...
    password: ....
    #阿里druid连接池驱动配置信息
    type: com.alibaba.druid.pool.DruidDataSource
    #连接池的配置信息
    #初始化大小,最小,最大
    initialSize: 2
    minIdle: 2
    maxActive: 3
    #配置获取连接等待超时的时间
    maxWait: 6000
    pool-prepared-statements: true
    max-pool-prepared-statement-per-connection-size: 10
    #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    #配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    #打开PSCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    #配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    #通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
  redis:
    host: 127.0.0.1
    port: 6379
    password: ....
    lettuce:
      pool:
        max-wait: 100000
        maxIdle: 10
        minIdle: 1
        max-active: 100
    timeout: 5000

mybatis:
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: cn.hanyuanhun.**.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus:
  mapper-locations: classpath*:cn/hanyuanhun/user/mapper/xml/*.xml

transaction:
  rollback-on-commit-failure: true

ribbon:
  #指定 Ribbon 客户端刷新服务列表的间隔时间默认30秒 设定为20s 减少开销
  ServerListRefreshInterval: 20000
  ReadTimeout: 10000
  #指定 Ribbon 客户端与服务实例建立连接的超时时间 默认为2s,设定为 10s
  ConnectTimeout: 10000
feign:
  compression:
    request:
      mime-types: application/f-serialization,application/json
  httpclient:
    enabled: true
  client:
    config:
      default:
        #设置连接超时时间为10秒
        connect-timeout: 10000
        read-timeout: 30000

这样就完成了整个SpringCloud项目配置文件基于远程Nacos加载配置过程。

原文链接 https://www.hanyuanhun.cn | https://node.hanyuanhun.cn

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值