【SpringCloudAlibaba系列--nacos配置中心】

Nacos做注册中心以及使用docker部署nacos集群的博客在这:

容器化部署Nacos:从环境准备到启动
容器化nacos部署并实现服务发现(gradle)
使用docker部署nacos分布式集群

下面介绍如何使用nacos做配置中心

groovy 复制代码
    // nacos-config引入
    implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: '2022.0.0.0'
  • nacos做配置中心的原理是将你的yml配置上传到nacos服务器中,你的服务启动的时候会根据namspace-group-dataId的定位方式去找到你的配置
  • 这是微服务的yml中需要写的,下面有详细解释
yml 复制代码
spring:
  application:
    name: equipment-management-feign
  cloud:
    nacos:
      config:
        username: nacos
        password: nacos
        server-addr: xxx.xxx.xx.xx:8848
        file-extension: yml
        group: HardwareServices
        namespace: e8c3bd64-52ff-494e-a51f-a907d9f098b8


  config:
    import:
      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}
  • 上文中 name: equipment-management-feign 这一项是你的配置的名称,是你云端的DataId

  • 上文中的group也是你云端的group

  • 上文中的namespace需要重点注意,不是你起的名字,而是命名空间给的代码,如图

  • 下面是云端配置的内容,仅做参考,根据你自己的配置来改

yml 复制代码
spring:
  cloud:
    nacos:
      discovery:
        # nacos注册中心地址
        server-addr: xxx.xxx.xx.xx:8848
        username: your_nacos_name
        password: your_pss
  # 微服务名称
  application:
    name: equipment-management
  jpa:
    # 指定是否在spring容器启动时创建表,默认false
    generate-ddl: true
    show-sql: true
    hibernate:
      # 指定应用重启时不重新更新表
      ddl-auto: none
    # 关闭前端访问的懒加载机制
    open-in-view: false

  # 配置数据源
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://xxx.xxx.xx.xx/rdt_hardware?serverTimezone=Asia/Shanghai&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: your_name
    password: 'your_pss'
    druid:
      # 初始连接数
      initialSize: 5
      # 最小连接池数量
      minIdle: 10
      # 最大连接池数量
      maxActive: 20
      # 配置获取连接等待超时的时间
      maxWait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      timeBetweenEvictionRunsMillis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      minEvictableIdleTimeMillis: 300000
      # 配置一个连接在池中最大生存的时间,单位是毫秒
      maxEvictableIdleTimeMillis: 900000
      # 配置检测连接是否有效
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false

# 日志
logging:
  # 控制台日志输出格式
  pattern:
    console: level-%level %msg%n
  level:
    # 控制springboot 启动时显示的日志级别
    root: info
    # hibernate相关的日志级别
    org.hibernate: info
    # 控制自己写的代码运行时显示的日志级别
    com.rdt: debug
    #  show-sql: true 的前提下显示sql中的动态参数值
    org.hibernate.type.descriptor.sql.BasicBinder: trace
    #  show-sql: true 的前提下显示sql的查询结果
    org.hibernate.type.descriptor.sql.BasicExtractor: trace

server:
  port: 8009
  servlet:
    encoding:
      charset: utf-8
      # 确保字符集总是被应用
      force: true

这里面有几个关键点:

  • server下的port是你这个服务要在哪个端口启动
  • server-addr则是你nacos监听的端口
  • application: name: equipment-management这里是你的微服务名称,和dataId是有区别的,dataId是equipment-management.yml,是你这份配置叫什么
相关推荐
南猿北者7 小时前
docker容器
docker·容器
YCyjs8 小时前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R8 小时前
K8s小白入门
云原生·容器·kubernetes
WX187021128739 小时前
在分布式光伏电站如何进行电能质量的治理?
分布式
不能再留遗憾了11 小时前
RabbitMQ 高级特性——消息分发
分布式·rabbitmq·ruby
€☞扫地僧☜€12 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘12 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者13 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器
材料苦逼不会梦到计算机白富美14 小时前
golang分布式缓存项目 Day 1
分布式·缓存·golang
想进大厂的小王15 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构