精通SpringCloud/Boot配置文件在Nacos中的配置

news2024/10/6 12:19:18

目录

1 什么是nacos? 

Nacos 地图

 Nacos 生态图

2 springcloud中精通Nacos的配置中心

目录结构

日志配置文件

原始的配置文件

使用Nocas对配置文件进行拆分

引用nacos中的配置文件

共享nacos中的配置文件操作

我们使用同样的方法将日志配置提取出来


1 什么是nacos? 

        Nacos是一个开源的分布式系统服务注册中心和配置管理平台。它可以帮助开发人员快速地实现微服务的注册与发现、动态配置管理、服务健康监测等功能。简单来说,Nacos就是一个能够让你更方便地管理和使用微服务的工具。

Nacos 地图

 Nacos 生态图

2 springcloud中精通Nacos的配置中心

目录结构

日志配置文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="180" packages="">
    <properties>
        <property name="logdir">logs</property>
        <property name="PATTERN">%date{YYYY-MM-dd HH:mm:ss,SSS} %level [%thread][%file:%line] - %msg%n%throwable</property>
    </properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="${PATTERN}"/>
        </Console>

        <RollingFile name="ErrorAppender" fileName="${logdir}/error.log"
            filePattern="${logdir}/$${date:yyyy-MM-dd}/error.%d{yyyy-MM-dd-HH}.log" append="true">
            <PatternLayout pattern="${PATTERN}"/>
            <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
        </RollingFile>

        <RollingFile name="DebugAppender" fileName="${logdir}/info.log"
            filePattern="${logdir}/$${date:yyyy-MM-dd}/info.%d{yyyy-MM-dd-HH}.log" append="true">
            <PatternLayout pattern="${PATTERN}"/>
            <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
        </RollingFile>
        
        <!--异步appender-->
         <Async name="AsyncAppender" includeLocation="true">
            <AppenderRef ref="ErrorAppender"/>
            <AppenderRef ref="DebugAppender"/>
        </Async>
    </Appenders>
    
    <Loggers>
         <!--过滤掉spring和mybatis的一些无用的debug信息-->
        <logger name="org.springframework" level="INFO">
        </logger>
        <logger name="org.mybatis" level="INFO">
        </logger>
        <logger name="cn.itcast.wanxinp2p.consumer.mapper" level="DEBUG">
        </logger>

        <logger name="springfox" level="INFO">
        </logger>
		<logger name="org.apache.http" level="INFO">
        </logger>
        <logger name="com.netflix.discovery" level="INFO">
        </logger>
        
        <logger name="RocketmqCommon"  level="INFO" >
		</logger>
		
		<logger name="RocketmqRemoting" level="INFO"  >
		</logger>
		
		<logger name="RocketmqClient" level="WARN">
		</logger>

        <logger name="org.dromara.hmily" level="WARN">
        </logger>

        <logger name="org.dromara.hmily.lottery" level="WARN">
        </logger>

        <logger name="org.dromara.hmily.bonuspoint" level="WARN">
        </logger>
		
        <!--OFF   0-->
        <!--FATAL   100-->
        <!--ERROR   200-->
        <!--WARN   300-->
        <!--INFO   400-->
        <!--DEBUG   500-->
        <!--TRACE   600-->
        <!--ALL   Integer.MAX_VALUE-->
        <Root level="DEBUG" includeLocation="true">
            <AppenderRef ref="AsyncAppender"/>
            <AppenderRef ref="Console"/>
            <AppenderRef ref="DebugAppender"/>
        </Root>
    </Loggers>
</Configuration>

原始的配置文件

原始的Blog-Article-API模块的配置文件

server:
  port: 8081
  servlet:
    context-path: /Api

#  port: 63041
#微服务配置
spring:
  application:
    name: Blog-Article-Api #服务名content-api-dev.yaml
  cloud:
    nacos:
      discovery: #服务注册相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
      config: #配置文件相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
        file-extension: yaml
        refresh-enabled: true
      server-addr: 172.18.229.62:8848
  profiles:
    active: dev   #环境名

  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/yyy?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowPublicKeyRetrieval=true
    username: root
    password: xx

swagger:
  title: "幻梦博客系统"
  description: "幻梦博客,你的选择"
  base-package: com.scm.controller
  enabled: true
  version: 1.0.0
  #        extension-configs:
  contact:
    email: 2872392768@qq.com
    name: "Lancer"
logging:
  config: classpath:log4j2-dev.xml  # 日志文件配置路径

原始的Blog-Article-Service的配置文件

#微服务配置
spring:
  application:
    name: Blog-Article-Service #服务名content-api-dev.yaml
  cloud:
    nacos:
      config: #配置文件相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
        file-extension: yaml
        refresh-enabled: true
      server-addr: 172.18.229.62:8848
  profiles:
    active: dev   #环境名

  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/yyy?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowPublicKeyRetrieval=true
    username: root
    password: xx


logging:
  config: classpath:log4j2-dev.xml  # 日志文件配置路径

使用Nocas对配置文件进行拆分

详细请看SpringCloudAliBaba学习之Nacos简约学习教程_桂亭亭的博客-CSDN博客

进入Nacos中,新建一个配置文件

回到源代码中我们将Service模块中的部分配置文件,拆分到nacos中

新建配置

注意Data ID的书写规范。内容对应上图中的配置文件中的

这里的配置文件的内容为一个数据库的配置信息。

 

我们看到这里就已经上传成功了。

引用nacos中的配置文件

上图我们已经在nacos中的配置了数据库相关的配置文件

 Blog-Article-API模块配置文件更改为如下:注意点是

 

server:
  port: 8081
  servlet:
    context-path: /Api

#  port: 63041
#微服务配置
spring:
  application:
    name: Blog-Article-Api #服务名content-api-dev.yaml
  cloud:
    nacos:
      discovery: #服务注册相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
      config: #配置文件相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
        file-extension: yaml
        refresh-enabled: true
#        配置文件引用
        extension-configs:
          - data-id: Blog-Article-Service-${spring.profiles.active}.yaml
            group: Blog-Cloud
            refresh: true
      server-addr: 172.18.229.62:8848
  profiles:
    active: dev   #环境名

swagger:
  title: "幻梦博客系统"
  description: "幻梦博客,你的选择"
  base-package: com.scm.controller
  enabled: true
  version: 1.0.0
  contact:
    email: 2872392768@qq.com
    name: "Lancer"



logging:
  config: classpath:log4j2-dev.xml  # 日志文件配置路径

启动项目测试

共享nacos中的配置文件操作

在nacos中新建swagger配置,作为所有项目的swagger配置

如下即为成功。

 Blog-Article-API模块配置文件更改为如下:注意点是

 

server:
  port: 8081
  servlet:
    context-path: /Api

#  port: 63041
#微服务配置
spring:
  application:
    name: Blog-Article-Api #服务名content-api-dev.yaml
  cloud:
    nacos:
      discovery: #服务注册相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
      config: #配置文件相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
        file-extension: yaml
        refresh-enabled: true
#        配置文件引用
        extension-configs:
          - data-id: Blog-Article-Service-${spring.profiles.active}.yaml
            group: Blog-Cloud
            refresh: true
        shared-configs:
          - data-id: Swagger-${spring.profiles.active}.yaml
            group: Blog-Cloud-Common
            refresh: true
      server-addr: 172.18.229.62:8848
  profiles:
    active: dev   #环境名




logging:
  config: classpath:log4j2-dev.xml  # 日志文件配置路径

启动项目测试

--》访问

http://localhost:8081/Api/swagger-ui.html

我们使用同样的方法将日志配置提取出来

新建日志配置文件

如下即为成功

 Blog-Article-API模块配置文件更改为如下:注意点是

 

server:
  port: 8081
  servlet:
    context-path: /Api

#  port: 63041
#微服务配置
spring:
  application:
    name: Blog-Article-Api #服务名content-api-dev.yaml
  cloud:
    nacos:
      discovery: #服务注册相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
      config: #配置文件相关配置
        enabled: true
        namespace: dev202305
        group: Blog-Cloud
        file-extension: yaml
        refresh-enabled: true
#        配置文件引用
        extension-configs:
          - data-id: Blog-Article-Service-${spring.profiles.active}.yaml
            group: Blog-Cloud
            refresh: true
        shared-configs:
          - data-id: Swagger-${spring.profiles.active}.yaml
            group: Blog-Cloud-Common
            refresh: true
          - data-id: Logging-${spring.profiles.active}.yaml
            group: Blog-Cloud-Common
            refresh: true  
      server-addr: 172.18.229.62:8848
  profiles:
    active: dev   #环境名

 运行项目测试

ok,日志正常打出

END 

更多问题请留言

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/539802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信过期视频怎么恢复?恢复视频的方法已经给你总结好了!

案例&#xff1a;微信视频过期&#xff0c;已经被清理怎么办&#xff1f; 【朋友之前发的视频过期了&#xff0c;现在怎么都找不到&#xff0c;有什么方法可以恢复回来吗&#xff1f;感谢&#xff01;】 微信作为一款热门的社交应用程序&#xff0c;允许用户发送和接收照片、视…

搭建Freekan私人影视电影网站,cpolar内网穿透发布上线

文章目录 1.前言2.本地网页搭建2.1 环境使用2.2 支持组件和环境设置2.3 支持组件选和环境设置2.4 网页安装2.5 测试和使用2.6 问题解决 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 转发自CSDNprobezy的文章&#xff1a;使用Cpolarfreekan源码…

MATLAB绘制动画(五)GIF

GIF这个文件大家就比较熟悉了&#xff0c;我们通常当做表情包的动图一般都是用GIF格式。 这是因为GIF格式的文件比较小&#xff0c;传输速度快。 用MATLAB生成GIF图像同样需要将图像保存下来&#xff0c;通过循环展示动画 代码如下&#xff1a; clc; clear; close all; set…

SpringCloud(27. Redis 和 ZK 分布式锁)

上一篇 &#xff1a;26.分布式服务框架Dubbo面试题简析 1. redis 分布式锁 官方叫做 RedLock 算法&#xff0c;是 redis 官方支持的分布式锁算法。这个分布式锁有 3 个重要的考量点&#xff1a; 互斥&#xff08;只能有一个客户端获取锁&#xff09;不能死锁容错&#xff08;…

关于SD webui 部署运行的一些坑

[Bug 1]: RuntimeError: Couldnt install gfpgan 可以先尝试&#xff1a; pip install gfpgan 不过是在虚拟环境venv下的 E:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install gfpgan 如果还是无法安装gfpgan的原因是网络问题&#xff0c;就算已经科学上网…

maven 项目依赖加载不出来

1.依赖加载不出来&#xff0c;查看pom.xml放的位置是否对了 2.1下载mvn到本地&#xff0c;进行解压 2.2新建系统变量MAVEN_HOME&#xff0c;值直接指向安装目录D:\apache-maven-3.9.2 2.3path变量中增加&#xff1a;%MAVEN_HOME%\bin 2.4若仓库位置不在C盘用户下&#xff0…

SpringMVC对请求的处理流程

1.用户发起some.do请求 2.DispatcherServlet中央调度器接收请求some.do&#xff0c;把请求转交给处理器映射器  处理器映射器:SpringMVC框架中的一种对象&#xff0c;框架实现了HandlerMapping接口的类都叫映射器&#xff08;多个&#xff09; 处理器映射器的作用:根据请求&a…

Ajax加强(xhr、XML、JSON、xhr上传文件)

文章目录 一、XMLHttpRequest的基本使用1、 使用xhr发起GET请求2、了解xhr对象的readyState属性3、使用xhr发起带参数的GET请求4、查询字符串5、URL编码与解码6、使用xhr发起POST请求 二、数据交换格式1、XML&#xff08;1&#xff09;XML和HTML的区别&#xff08;2&#xff09…

gma 1.1.6 | 2.0.0a1 (2023.05.14) 更新日志

从现在开始&#xff0c;gma 开始同步更新 gma 2 的前期预览版&#xff0c;并与 gma 1 的正式版同步发布。 gma 1.1.6 更新日志 新增 1、添加 3组 新的指北针样式。 修复 1、【map】高分辨栅格数据集内存溢出问题。   添加高分辨率栅格数据集且进行强制数据缩放时 偶现内存…

论文中文翻译——VulCNN An Image-inspired Scalable Vulnerability Detection System

本论文相关内容 论文下载地址——Web Of Science论文中文翻译——VulCNN An Image-inspired Scalable Vulnerability Detection System 文章目录 本论文相关内容前言VulCNN&#xff1a;一种基于图像的可扩展漏洞检测系统作者信息摘要CCS概念关键词ACM参考格式1 引言2 动机3 方…

软考A计划-真题-分类精讲汇总-第十八章(面向对象程序设计)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

CorelDRAW2023最新中文版下载操作教程

CorelDRAW是一个功能强大的矢量绘图工具&#xff0c;也是国内外最流行的平面设计软件之一&#xff0c;它是平面设计和电脑绘画功能为一体的专业设计软件&#xff0c;被广泛应用于平面设计、广告设计、企业形象设计、字体设计、插图设计、工业造型设计、建筑平面图绘制、Web图形…

《终身成长》笔记三——失败挫折的意义

目录 经典摘录 成长型思维方式的人并非感觉不到挫折感&#xff0c;抑郁感&#xff0c;但会很快反应过来&#xff0c;并马上应对 关于能力和成就&#xff0c;我们有很多错误的想法&#xff0c;特别是我们总认为&#xff0c;是那些孤独、聪明的人突然间发明了了不起的东西 思维…

需要买apple pencil吗?比较好用的ipad手写笔

实际上&#xff0c;苹果Pencil和市面上常见的电容笔最大的不同之处在于&#xff0c;它们的重量和压感是不同的。但由于苹果Pencil价格较高&#xff0c;且平替电容笔的各项功能也在不断完善&#xff0c;因此&#xff0c;平替的使用逐渐取代了苹果Pencil。下面&#xff0c;我就给…

博途中S7-1200中DB块整体清零(非优化的DB)的方法演示

博途中S7-1200中DB块整体清零(非优化的DB)的方法演示 具体方法可参考以下内容: 如下图所示,博途中新建项目后,添加一个DB块,我这里以命名为DB112,并取消优化的块访问, 如下图所示,在该DB块中添加几个变量,编译该DB块后会出现具体的偏移地址, 如下图所示,添加一个…

Maven基础学习---1、Maven的作用、什么是Maven

1、Maven的作用 1.1 Maven作为依赖管理工具 1、jar包的规模 随着我们使用越来越多的框架&#xff0c;或者对框架封装程度越来越高&#xff0c;项目中使用的jar包也越来越多。项目中&#xff0c;一个模块里面用到上百个jar包时非常正常的。 比如下面的例子&#xff0c;我们只…

Java --- redis7的缓存淘汰策略

目录 一、redis内存查看与设置 二、redis的数据删除方式 三、redis缓存淘汰策略 一、redis内存查看与设置 查看redis最大占用内存&#xff1a; redis默认内存使用&#xff1a; 不设置最大内存大小或设置为0&#xff0c;在64位操作系统下不限制内存大小&#xff0c;32位操作系…

【Python 统计学习】零基础也能轻松掌握的学习路线与参考资料

Python 作为一种功能强大而且易于使用的编程语言&#xff0c;被广泛应用于数据科学和统计学习领域。如果你想要在这个领域有所成就&#xff0c;下面是 Python 统计学习学习路线的建议。 Python 基础知识 如果你还没有 Python 的基础知识&#xff0c;那么首先需要学习 Python 的…

博客园美化教程

博客园美化教程 一、进入管理>设置>勾选下面的JS权限&#xff0c;然后填写一下开通的理由等待管理员进行审核通过。 二、选择下面的博客皮肤 三、贴入以下CSS代码到自定义&#xff0c;并禁用CSS默认模板 *,.Cal{padding:0}::-moz-selection{background:#807dd4;color:#…

chatgpt-验证手机出错-您的帐户被标记为可能存在滥用行为

一、问题 问题显示&#xff1a;Your account was flagged for potential abuse. If you feel this is an error,please contact us at help.openai.com&#xff08;您的帐户被标记为可能存在滥用行为&#xff0c;如果您认为这是一个错误&#xff0c;请联系我们 help.openai.co…