【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,是你这份配置叫什么
相关推荐
DieSnowK23 分钟前
[Redis][典型运用][缓存]详细讲解
数据库·redis·分布式·缓存·集群·高可用·典型运用
啊丢_1 小时前
分布式数据库——HBase基本操作
数据库·分布式·hbase
程序那点事儿1 小时前
zookeeper 服务搭建(单机)
分布式·zookeeper·云原生·java-zookeeper
zenRRan1 小时前
一文讲明白大模型分布式逻辑(从GPU通信原语到Megatron、Deepspeed)
分布式
superman超哥2 小时前
Docker从入门到精通_01 Docker:引领云计算的新浪潮
docker·容器·云计算
IT大玩客2 小时前
如何使用Apache Kafka处理实时数据
分布式·kafka·apache
Schafferyy2 小时前
【监控体系搭建三】Docker部署Prometeus&Grafana
docker·容器·grafana
bestcxx3 小时前
(十七)、Mac 安装k8s
macos·容器·kubernetes
唯余木叶下弦声8 小时前
Python连接Kafka收发数据等操作
大数据·分布式·python·kafka
Dylanioucn8 小时前
【分布式微服务云原生】详细介绍下dubbo和springcloud所能支持的微服务特性,为啥能支持的技术原理,以及适用的业务场景,并对两者各方面做个详细的比较
分布式·微服务·云原生