当前位置: 首页 > news >正文

Nacos配置中心总结

Nacos配置中心总结

Nacos配置文件的加载顺序和优先级

加载顺序

nacos作为配置中心时,需要在bootstrap.yml文件中添加nacos config相关的配置,这样系统启动时就能先去拉取nacos server上的配置了。拉取过来后会和本地配置文件进行合并。

bootstrap.yml文件

spring:cloud:nacos:config:server-addr: 127.0.0.1:8848file-extension: yamlnamespace: c4829fb4-fbd9-475e-a39d-071f26064e7bgroup: DEFAULT_GROUPusername: nacospassword: nacosprofiles:active: devapplication:name: consumerservice

配置文件读取规则

  1. 根据namespace、group、data-id三个配置去找文件
  2. 会从nacos中读取多个配置文件:
    1. [spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml
    2. [spring.application.name].yaml,例如:userservice.yaml
  3. 不管profile怎么变化,一定会加载[spring.application.name].yaml文件,所以多个环境共享的配置可以写入这个文件中
  4. 上面的示例没有写data-id,那么最后找到的是指定namespace和指定group下的consumerservice-dev.yaml配置文件,如果指定了data-id那么就是读取指定配置文件了,不过在这种场景下一般不会指定data-id,当我们使用nacos存储sentinel配置文件的时候会指定data-id。

配置文件的优先级
在这里插入图片描述

Nacos整合Sentinel

引入依赖,特别是引入sentinel-datasource-nacos依赖

        <!--nacos服务发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--Nacos配置管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><!--以nacos作为sentinel数据源的依赖--><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency>

指定sentinel的规则配置文件

spring:cloud:nacos:discovery:server-addr: 127.0.0.1:8848cluster-name: HZnamespace: c4829fb4-fbd9-475e-a39d-071f26064e7b  #命名空间idgroup: testgroup1username: nacospassword: nacosloadbalancer:nacos:enabled: true #开启负载均衡openfeign:compression:request:enabled: true #开启请求压缩min-request-size: 2048  #设置触发压缩的大小下限,此处也是默认值mime-types: text/html,application/xml,application/json #设置压缩的数据类型,此处也是默认值response:enabled: true #开启响应压缩okhttp:enabled: truesentinel:transport:dashboard: localhost:8080web-context-unify: false   #是否统一web上下文,默认为false;如果配置为 true,则对所有请求应用统一的流控和熔断规则;如果配置为 false,则对每个请求的上下文信息进行独立处理,并针对每个 URL 或资源配置流控和熔断规则eager: true       # 是否在启动时就初始化所有规则datasource:      #配置sentinel规则持久化到nacosflux-control: #流控管理,名称可以自定义nacos:data-id: consumerservice-sentinel-dev.json #sentinel规则配置文件的dataIdnamespace: c4829fb4-fbd9-475e-a39d-071f26064e7bgroup-id: DEFAULT_GROUPserver-addr: 127.0.0.1:8848  #nacos地址rule-type: flow #指定配置文件里的是哪种规则degrade-control:  #降级规则nacos:data-id:  namespace: c4829fb4-fbd9-475e-a39d-071f26064e7bgroup-id: DEFAULT_GROUPserver-addr: 127.0.0.1:8848rule-type: degradeparam-flow-rule:  #热点规则nacos:data-id:namespace: c4829fb4-fbd9-475e-a39d-071f26064e7bgroup-id: DEFAULT_GROUPserver-addr: 127.0.0.1:8848rule-type: param-flow

流控规则配置

[{"resource": "/test", // 资源名"limitApp": "default", // // 针对来源,若为 default 则不区分调用来源"grade": 1, // 限流阈值类型(1:QPS;  0:并发线程数)"count": 1, // 阈值"clusterMode": false, // 是否是集群模式"controlBehavior": 0, // 流控效果 (0:快速失败;  1:Warm Up(预热模式);  2:排队等待)"strategy": 0,  // 流控模式(0:直接; 1:关联; 2:链路)"warmUpPeriodSec": 10, // 预热时间(秒,预热模式需要此参数)"maxQueueingTimeMs": 500, // 超时时间(排队等待模式需要此参数)"refResource": "rrr" // 关联资源、入口资源(关联、链路模式)}.
]

在nacos中创建对应的配置文件,在yaml文件中使用data-id指定配置文件
在这里插入图片描述

熔断降级配置

[{"resource": "/degrade","grade": 0, // 熔断策略,支持慢调用比例(0),异常比例(1),异常数(2)策略"count": 1000, // 慢调用比例模式下为慢调用临界 RT(超出该值计为慢调用,单位ms);异常比例/异常数模式下为对应的阈值"slowRatioThreshold": 0.1,// 慢调用比例阈值,仅慢调用比例模式有效(1.8.0 引入)"minRequestAmount":  10, //熔断触发的最小请求数,请求数小于该值时即使异常比率超出阈值也不会熔断"timeWindow": 10, // 熔断时长,单位为 s"statIntervalMs": 1000 // 统计时长(单位为 ms),如 60*1000 代表分钟级}
]	

热点参数配置

[{"resource": "/test1","grade": 1, // 限流模式(QPS 模式,不可更改)"paramIdx": 0, // 参数索引"count": 13, // 单机阈值"durationInSec": 6, // 统计窗口时长"clusterMode": false, // 是否集群 默认false"controlBehavior": 0, // 流控效果(支持快速失败和匀速排队模式)"limitApp": "default",// 高级选项"paramFlowItemList": [{"classType": "int", // 参数类型"count": 222, // 限流阈值"object": "2" // 参数值}]}
]

系统参数配置

[{"avgRt": 1, // RT"highestCpuUsage": -1, // CPU 使用率"highestSystemLoad": -1, // LOAD"maxThread": -1, // 线程数"qps": -1, // 入口 QPS"count": 55, // 阈值,在CPU使用率中是百分比}
]

授权规则配置

[{"resource": "sentinel_spring_web_context","limitApp": "/test","strategy": 0 // 授权类型(0代表白名单;1代表黑名单。)}
]

参考

  1. Sentinel官网
  2. Sentinel结合Nacos实现配置持久化(全面)

相关文章:

Nacos配置中心总结

Nacos配置中心总结 Nacos配置文件的加载顺序和优先级 加载顺序 nacos作为配置中心时&#xff0c;需要在bootstrap.yml文件中添加nacos config相关的配置&#xff0c;这样系统启动时就能先去拉取nacos server上的配置了。拉取过来后会和本地配置文件进行合并。 bootstrap.ym…...

rouyi(前后端分离版本)配置

从gitee上下载&#xff0c;复制下载地址&#xff0c;到 点击Clone&#xff0c;下载完成&#xff0c; 先运行后端&#xff0c;在运行前端 运行后端&#xff1a; 1.配置数据库&#xff0c;在Navicat软件中&#xff0c;连接->mysql->名字自己起(rouyi-vue-blog),用户名roo…...

超大规模分类(一):噪声对比估计(Noise Contrastive Estimation, NCE)

NCE损失对应的论文为《A fast and simple algorithm for training neural probabilistic language models》&#xff0c;发表于2012年的ICML会议。 背景 在2012年&#xff0c;语言模型一般采用n-gram的方法&#xff0c;统计单词/上下文间的共现关系&#xff0c;比神经概率语言…...

Windows 下安装 triton 教程

目录 背景解决方法方法一&#xff1a;&#xff08;治标不治本&#xff09;方法二&#xff1a;&#xff08;triton-windows&#xff09;- 安装 MSVC 和 Windows SDK- vcredist 安装- whl 安装- 验证 背景 triton 目前官方只有Linux 版本&#xff0c;若未安装&#xff0c;则会出…...

复盘与导出工具最新版9.15重磅发布-全新UI兼容所有windows系统

在9.11版本的基础上大更新: 1.应付费用户需求修复当更换明亮风格时软件超过电脑屏幕的bug&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 2.支持所有windows版本,32/64位的win xp/7/8/10/11 3.修复开盘啦涨停原因排序bug 4.全新ui风格 5提前爆料:.9.2版本的分开…...

家用电器销售系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…...

NRF24L01模块通信实验

NRF24L01简要介绍 这里主要介绍模块的最重要的参数&#xff0c;废话就不多介绍了。   该模块是一款无线通信模块&#xff0c;一个模块即可同时具备发射和接收数据的功能&#xff0c;但是要想实现通信必须使用两个模块之间才能进行通信。NRF24L01模块使用的总线控制方式为SPI总…...

2024年12月CCF-GESP编程能力等级认证Scratch图形化编程三级真题解析

本文收录于《Scratch等级认证CCF-GESP图形化真题解析》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(一共 15 个题目,每题 2 分,共 30 分) 第 1 题 2024 年 10 月 8 日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰霍普菲尔德(John J. …...

【MySQL系列】VARCHAR为啥一般是255

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

图文教程:使用PowerDesigner导出数据库表结构为Word/Html文档

1、第一种情况-无数据库表&#xff0c;但有数据模型 1.1 使用PowerDesigner已完成数据建模 您已经使用PowerDesigner完成数据库建模&#xff0c;如下图&#xff1a; 1.2 Report配置和导出 1、点击&#xff1a;Report->Reports&#xff0c;如下图&#xff1a; 2、点击&…...

Coroutine 基础五 —— Flow 之 Channel 篇

1、Channel 与 Flow 简介与对比 所有知识都可总结为一个字 —— 流。包括数据流、事件流、状态流。 开发中最常用的 StateFlow 提供状态订阅。可以将一些信息包进 StateFlow 中进行保存。比如界面上显示的字符串&#xff0c;或者系统级别的信息&#xff0c;如用户状态。装进 …...

快速掌握Elasticsearch检索之二:滚动查询(scrool)获取全量数据(golang)

Elasticsearch8.17.0在mac上的安装 Kibana8.17.0在mac上的安装 Elasticsearch检索方案之一&#xff1a;使用fromsize实现分页 1、滚动查询的使用场景 滚动查询区别于上一篇文章介绍的使用from、size分页检索&#xff0c;最大的特点是&#xff0c;它能够检索超过10000条外的…...

C++设计模式:状态模式(自动售货机)

什么是状态模式&#xff1f; 状态模式是一种行为型设计模式&#xff0c;它允许一个对象在其内部状态发生改变时&#xff0c;动态改变其行为。通过将状态相关的逻辑封装到独立的类中&#xff0c;状态模式能够将状态管理与行为解耦&#xff0c;从而让系统更加灵活和可维护。 通…...

【网络安全实验室】脚本关实战详情

难道向上攀爬的那条路&#xff0c;不是比站在顶峰更让人热血澎湃吗 1.key又又找不到了 点击链接&#xff0c;burp抓包&#xff0c;发送到重放模块&#xff0c;点击go 得到key 2.快速口算 python3脚本 得到key 3.这个题目是空的 试了一圈最后发现是 4.怎么就是不弹出key呢…...

ts总结一下

ts基础应用 /*** 泛型工具类型*/ interface IProps {id: string;title: string;children: number[]; } type omita Omit<IProps, id | title>; const omitaA: omita {children: [1] }; type picka Pick<IProps, id | title>; const pickaA: picka {id: ,title…...

MySQL数据库笔记——主从复制

大家好&#xff0c;这里是Good Note&#xff0c;关注 公主号&#xff1a;Goodnote&#xff0c;本文详细介绍 MySQL的主从复制&#xff0c;从原理到配置再到同步过程。 文章目录 简介核心组件主从复制的原理作用主从复制的线程模型主从复制的模式形式复制的方式设计复制机制主从…...

OpenAI发布o3:圣诞前夜的AI惊喜,颠覆性突破还是技术焦虑?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

欧拉-伯努利梁自由波动的频散关系

梁和杆都是一维结构,但是梁的弯曲波比杆的纵波要复杂多。例如即使最简单的欧拉-伯努利(Euler-Bernoulli)梁的弯曲波也具有频散特征,且当梁的特征尺寸和弯曲波波长满足某个比值时,欧拉-伯努利梁不再适用,需要引入铁摩辛克(Timoshenko)梁模型。 考察某一欧拉-伯努利梁,长度…...

Cursor小试1.生成一个网页的接口请求工具

一般开发过程中,会涉及到接口的调试,往往有时候开发的电脑不是我们自己的,没有安装一些类似postman 的接口调用工具,所以发现问题或者要测试某些接口是否正常的时候会很麻烦,而且现在网上也没有找到很好的免费的网页端接口请求的网址,所以我们使用Cursor来编写这样一个小工具, …...

Xilinx DCI技术

Xilinx DCI技术 DCI技术概述Xilinx DCI技术实际使用某些Bank特殊DCI要求 DCI级联技术DCI端接方式阻抗控制驱动器&#xff08;源端接&#xff09;半阻抗控制阻抗驱动器&#xff08;源端接&#xff09;分体式DCI&#xff08;戴维宁等效端接到VCCO/2&#xff09;DCI和三态DCI&…...

Qwen3.5-35B-A3B-AWQ-4bit多模态落地:智慧医疗影像报告图关键指标自动提取

Qwen3.5-35B-A3B-AWQ-4bit多模态落地&#xff1a;智慧医疗影像报告图关键指标自动提取 1. 医疗影像分析的痛点与解决方案 医疗影像报告分析一直是临床工作中的重要环节。传统方式依赖医生人工查看影像并提取关键指标&#xff0c;存在以下问题&#xff1a; 效率低下&#xff…...

自动驾驶商业化落地:商业模式与法规体系双轮驱动

目录 一、自动驾驶分级与商业逻辑差异 二、商业模式&#xff1a;不同等级的盈利路径 1. L3 乘用车&#xff1a;成本与合规的平衡 2. L4 运营场景&#xff1a;替代人力的正向现金流 3. L5&#xff1a;社会价值驱动&#xff0c;商业仍待探索 三、法规核心难点&#xff1a;责…...

06_Cursor之上下文管理与代码库理解

关键字&#xff1a;上下文管理, 代码库理解, 符号引用, Git集成, 图像上下文, Cursor 06_Cursor之上下文管理与代码库理解 Cursor知识体系 Cursor知识体系&#xff08;续&#xff09; | -- 上下文管理层 | -- 代码库级理解 | | -- 项目结构分析 | | -- 依赖关系追…...

数据转换器(ADC/DAC)核心术语与工程实践解析

1. 数据转换器基础概念解析在电子工程领域&#xff0c;数据转换器&#xff08;ADC/DAC&#xff09;是连接模拟世界与数字系统的关键桥梁。作为一名从业十余年的硬件工程师&#xff0c;我经常遇到新手对这些专业术语感到困惑的情况。本文将系统梳理56个核心术语&#xff0c;结合…...

全球不到3%的C++开发者掌握的量子模拟技巧:利用constexpr量子门编译期展开,启动速度提升41倍

第一章&#xff1a;量子计算 C 量子比特模拟示例在经典C环境中模拟量子比特行为&#xff0c;是理解量子门操作与叠加态演化的有效教学手段。本节基于线性代数原理&#xff0c;使用标准C17及以上特性&#xff08;无需外部量子SDK&#xff09;&#xff0c;通过复数向量与酉矩阵实…...

第 1 章 Python 基础 知识点精讲

1.1 在交互式环境中输入表达式核心知识点Python 提供两种运行代码的方式&#xff1a;交互式环境&#xff08;IDLE / 终端&#xff09; 和 脚本文件&#xff08;.py&#xff09;。交互式环境&#xff1a;输入一行代码立即执行&#xff0c;适合快速测试、调试、学习语法启动方式&…...

Phantom Stealer 凭证窃取机制分析与防御体系研究

摘要 Phantom Stealer 作为 2025 年下半年出现的新型多功能信息窃取木马&#xff0c;以多阶段感染、无文件驻留、强反检测与全维度凭证窃取为核心特征&#xff0c;通过伪装合法软件、脚本混淆、进程注入、 Heaven’s Gate 技术规避等手段&#xff0c;精准窃取浏览器密码、Cooki…...

2026届学术党必备的五大AI辅助写作网站推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下这个学术写作的场景范围里&#xff0c;论文AI工具已然变成辅助研究者去完成文献梳理的…...

Spring Boot项目必备:用Arthas实现MyBatis Mapper热加载的完整配置流程

Spring Boot项目必备&#xff1a;用Arthas实现MyBatis Mapper热加载的完整配置流程 在持续交付的微服务架构中&#xff0c;开发团队经常面临一个共同挑战&#xff1a;每次修改MyBatis的Mapper XML文件后&#xff0c;都需要重启服务才能验证变更效果。这种低效的反馈循环严重拖慢…...

丁二酸酯PEG氨基叔丁氧羰基,NHBoc-PEG-SA,可与胺基、羟基等基团发生缩合反应

一.名称英文名称&#xff1a;SA-PEG-NHBoc&#xff0c;Succinic Acid-PEG-NHBoc&#xff0c;NHBoc-PEG-SA&#xff0c;NHBoc-PEG-Succinic Acid中文名称&#xff1a;丁二酸酯聚乙二醇氨基叔丁氧羰基&#xff0c;丁二酸酯PEG氨基叔丁氧羰基分子量&#xff1a;1k&#xff0c;2k&a…...