【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,是你这份配置叫什么
相关推荐
麦兜*41 分钟前
Spring Boot 企业级动态权限全栈深度解决方案,设计思路,代码分析
java·spring boot·后端·spring·spring cloud·性能优化·springcloud
B1nna2 小时前
Docker学习
学习·docker·容器
缘友一世2 小时前
网安系列【15】之Docker未授权访问漏洞
docker·容器
{⌐■_■}10 小时前
【Kafka】登录日志处理的三次阶梯式优化实践:从同步写入到Kafka多分区批处理
数据库·分布式·mysql·kafka·go
qq_5298353510 小时前
RabbitMQ的消息可靠传输
分布式·rabbitmq
CodeWithMe10 小时前
【Note】《Kafka: The Definitive Guide》 第九章:Kafka 管理与运维实战
运维·分布式·kafka
sql2008help10 小时前
1-Kafka介绍及常见应用场景
分布式·kafka
armcsdn13 小时前
基于Docker Compose部署Traccar容器与主机MySQL的完整指南
mysql·docker·容器
铅笔侠_小龙虾15 小时前
Docker 实战 -- Mysql
mysql·docker·容器
弗锐土豆15 小时前
一个基于若依(ruoyi-vue3)的小项目部署记录
前端·vue.js·部署·springcloud·ruoyi·若依