Nacos配置中心不可用会有什么影响
服务端:
Nacos的数据存储接口
com.alibaba.nacos.config.server.service.DataSourceService
有两种实现:
如果指定了mysq 作为数据库,则必须使用 mysql
如果是 集群方式部署Nacos,则必须使用mysql
如果是单例方式部署 并且 没有指定 mysql作为数据库,则使用 Apache derby 数据库(内嵌)
可以使用多个数据库。实例化后 会选择一个可用的数据库作为主库,并启动定时任务 检查数据库健康状态。
Nacos配置中心采用mysql 进行配置持久化,在Nacos服务启动后,会读取配置数据,加载到内存中 并写入磁盘文件。
磁盘文件为:
如果没有指定namespace,则:
/data/config-data/group/ 各种dataId 文件
如果存在指定的namespace,则:
/data/tenant-config-data/namespace/各种dataId 文件
因此,如果是 mysql 不可用,Nacos 会出现启动失败的情况。
如果Nacos启动成功,后续mysql 不可用,那么 配置数据 是可以拿到的,但是 其他需要直接和mysql交互的功能无法使用。这种情况,不影响 客户端使用。只不过 无法更新配置。
客户端:
客户端在启动时,首先会去服务端加载配置:
com.alibaba.cloud.nacos.client.NacosPropertySourceLocator#locate
com.alibaba.cloud.nacos.client.NacosPropertySourceLocator#loadNacosDataIfPresent
加载到配置后,会将配置数据写到Map中:
com.alibaba.cloud.nacos.NacosPropertySourceRepository#NACOS_PROPERTY_SOURCE_REPOSITORY
在客户端启动完成时,spring boot 会发送一个 事件,ApplicationReadyEvent,
com.alibaba.cloud.nacos.refresh.NacosContextRefresher 会监听该事件。
private void registerNacosListenersForApplications() {if (refreshProperties.isEnabled()) {for (NacosPropertySource nacosPropertySource : NacosPropertySourceRepository.getAll()) {if (!nacosPropertySource.isRefreshable()) {continue;}String dataId = nacosPropertySource.getDataId();registerNacosListener(nacosPropertySource.getGroup(), dataId);}}}
如上代码,如果 当前的属性配置,支持自动刷新,则会注册一个 监听器。
private void registerNacosListener(final String group, final String dataId) {Listener listener = listenerMap.computeIfAbsent(dataId, i -> new Listener() {// 处理配置更新逻辑});try {// 注册事件监听configService.addListener(dataId, group, listener);}catch (NacosException e) {e.printStackTrace();}}
注册监听器的时候,会把配置项信息 添加到
com.alibaba.nacos.client.config.impl.ClientWorker#cacheMap
客户端会有一个定时任务执行
com.alibaba.nacos.client.config.impl.ClientWorker#checkConfigInfo
这个定时任务,会定时去nacos服务端检查配置 是否更新,通过MD5比较。
如果配置更新,则会通知 前面注册的listener 去nacos服务端拉取最新的配置,并完成本地配置更新。
如果Nacos服务不可用,那么微服务应用会报异常吗?
1. 微服务应用在读取配置时,首先读取的是本地数据。本地数据是存储在 磁盘文件中的。
public static final String LOCAL_FILEROOT_PATH;public static final String LOCAL_SNAPSHOT_PATH;static {LOCAL_FILEROOT_PATH = System.getProperty("JM.LOG.PATH", System.getProperty("user.home")) + File.separator+ "nacos" + File.separator + "config";LOCAL_SNAPSHOT_PATH = System.getProperty("JM.SNAPSHOT.PATH", System.getProperty("user.home")) + File.separator+ "nacos" + File.separator + "config";LOGGER.info("LOCAL_SNAPSHOT_PATH:{}", LOCAL_SNAPSHOT_PATH);}
基本上不会配置这个JM.XX.XX,所以 配置存储在磁盘中的目录就是 user.home 目录下
2. 如果本地缓存文件不存在,则读取Nacos配置中心的配置
当读取到配置文件后,会把数据写到本地快照文件中。
因此,如果 nacos服务端不可用,客户端并不影响(前提是 客户端已经读取过文件)
相关文章:
![](https://img-blog.csdnimg.cn/direct/cb02b9b9cffa45fd954fc1fc6aa3edb6.png)
Nacos配置中心不可用会有什么影响
服务端: Nacos的数据存储接口 com.alibaba.nacos.config.server.service.DataSourceService 有两种实现: 如果指定了mysq 作为数据库,则必须使用 mysql 如果是 集群方式部署Nacos,则必须使用mysql 如果是单例方式部署 并且 没…...
![](https://img-blog.csdnimg.cn/img_convert/699bd58ca4b813beb9adce7519569b1a.png)
AI时代下的自动化代码审计工具
代码审计工具分享 吉祥学安全知识星球🔗除了包含技术干货:Java代码审计、web安全、应急响应等,还包含了安全中常见的售前护网案例、售前方案、ppt等,同时也有面向学生的网络安全面试、护网面试等。 这两年一直都在提“安全左移”&…...
![](https://img-blog.csdnimg.cn/direct/82773908af634f1b9a8f75dcd2eef330.png#pic_center)
不懂索引,简历上都不敢写自己熟悉SQL优化
大家好,我是考哥。 今天给大家带来MySQL索引相关核心知识。对MySQL索引的理解甚至比你掌握SQL优化还重要,索引是优化SQL的前提和基础,我们一步步来先打好地基。 当MySQL表数据量不大时,缺少索引对查询性能的影响不会太大&#x…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
C# 设置PDF表单不可编辑、或提取PDF表单数据
PDF表单是PDF中的可编辑区域,允许用户填写指定信息。当表单填写完成后,有时候我们可能需要将其设置为不可编辑,以保护表单内容的完整性和可靠性。或者需要从PDF表单中提取数据以便后续处理或分析。 之前文章详细介绍过如何使用免费Spire.PDF…...
![](https://www.ngui.cc/images/no-images.jpg)
面试篇-求两个有序数组的交集
题目 两个有序数组,第一个有序数组m是1000w个元素,第二个有序数组n是1000个元素,求交集,需要考虑时间复杂度和空间复杂度。 解题思路 解法1:遍历小数组n,在m数组中进行折半查找,根据数组有序…...
![](https://www.ngui.cc/images/no-images.jpg)
Web爬虫-edu_SRC-目标列表爬取
免责声明:本文仅做技术交流与学习... 爬取后,结合暗黑搜索引擎等等进行进一步搜索. edu_src.py import requests, time from bs4 import BeautifulSoup for i in range(1, 20):url fhttps://src.sjtu.edu.cn/rank/firm/0/?page{i}print(f"正在获取第{i}页数据")s …...
![](https://www.ngui.cc/images/no-images.jpg)
云原生周刊:Harbor v2.11 版本发布 | 2024.6.17
开源项目推荐 Descheduler Descheduler 是一个工具,可用于优化 Kubernetes 集群中 Pod 的部署位置。它可以找到可以移动的 Pod,并将其驱逐,让默认调度器将它们重新调度到更合适的节点上。 Prowler Prowler 是一款适用于 AWS、Azure、GCP …...
![](https://img-blog.csdnimg.cn/direct/a03d48ccf5db406cb764fd7890d9f4b7.png)
低版本火狐浏览器报错:class is a reserved identifier
低版本火狐浏览器报错:class is a reserved identifier 原因:react-dnd,dnd-core 等node包的相关依赖有过更新,使得在低版本火狐浏览器中不支持 class 解决方法:在使用webpack打包构建时,编译排除node_modu…...
![](https://img-blog.csdnimg.cn/direct/cc8514e0828d44bf808a39e7653bb1c1.png)
掌握高等数学、线性代数、概率论所需数学知识及标题建议
在数学的广袤领域中,高等数学、线性代数和概率论作为三大核心分支,不仅在理论研究中占据重要地位,更在实际应用中发挥着举足轻重的作用。为了深入理解和掌握这三门学科,我们需要掌握一系列扎实的数学知识。 高等数学所需数学知识 …...
![](https://www.ngui.cc/images/no-images.jpg)
value_and_grad
value_and_grad 是 JAX 提供的一个便捷函数,它同时计算函数的值和其梯度。这在优化过程中非常有用,因为在一次函数调用中可以同时获得损失值和相应的梯度。 以下是对 value_and_grad(loss, argnums0, has_auxFalse)(params, data, u, tol) 的详细解释&a…...
![](https://img-blog.csdnimg.cn/img_convert/69e2b8ec85dce7201a4e3393e58562af.png)
AI 已经在污染互联网了。。赛博喂屎成为现实
大家好,我是程序员鱼皮。这两年 AI 发展势头迅猛,更好的性能、更低的成本、更优的效果,让 AI 这一曾经高高在上的技术也走入大众的视野,能够被我们大多数普通人轻松使用,无需理解复杂的技术和原理。 其中,…...
![](https://img-blog.csdnimg.cn/img_convert/670e7ac36a16e3e88ea02f9df0fa0cc6.png)
Linux系统安装ODBC驱动,统信服务器E版安装psqlodbc方法
应用场景 硬件/整机信息:AMD平台 OS版本信息:服务器e版 软件信息:psqlodbc 12.02版本 功能介绍 部分用户在使用etl工具连接数据库时,需要使用到odbc驱动,下面介绍下服务器e版系统中编译安装此工具的相关过程。 E…...
![](https://img-blog.csdnimg.cn/img_convert/f4caa47edb98fbdf4c465d3b27a4a663.png)
品牌对电商平台价格的监测流程
在当今的电商时代,品牌商会重点关注众多电商平台,如淘宝、天猫、京东、拼多多、苏宁、小红书、抖音、快手等。之所以这些平台备受瞩目,很大程度上是因为其上的店铺数量众多,情况复杂。如今,无论是品牌的经销商还是非经…...
![](https://img-blog.csdnimg.cn/direct/e18ae9f86b4d41a89f59a4440fc42e40.png)
osgearth提示“simple.earth: file not handled”
在用vcpkg编译完osg和osgearth后,为了验证osgearth编译是否正确,进行测试,模型加载代码如下: root->addChild(osgDB::readNodeFile("simple.earth")); 此时以为是simple.earth路径的问题,遂改为以下代码…...
![](https://img-blog.csdnimg.cn/direct/5e3ae2d8ff8649f1a9004187e14fe5d4.png)
hbuilderx如何打包ios app,如何生成证书
hbuilderx可以打包ios app, 但是打包的时候,却需要两个证书文件,我们又如何生成这两个证书文件呢? 点击hbuilderx的官网链接,教程是需要使用mac电脑苹果开发者账号去创建这两个文件,可是问题来了,我们没有…...
![](https://img-blog.csdnimg.cn/direct/98672ba2392f4fd281fbff44af4d7b32.png)
扩散模型荣获CVPR2024最佳论文奖,最新成果让评估和改进生成模型更加效率!
CVPR 2024最佳论文奖新鲜出炉 其中一篇是Rich Human Feedback for Text-to-Image Generation,受大模型中的RLHF技术启发,团队用人类反馈来改进Stable Diffusion等文生图模型。 作者提出了收集丰富的细粒度人类反馈信息,用于更好地评估和改进…...
![](https://www.ngui.cc/images/no-images.jpg)
通过CSS样式来禁用href
<style>.disabled-link {pointer-events: none;cursor: default;text-decoration: none;color: inherit; }</style><a href"https://www.example.com" class"disabled-link">禁用链接</a> 在上述CSS样式中, pointer-…...
![](https://img-blog.csdnimg.cn/direct/d87627540e7142a8b8708549cbeb4d6b.jpeg)
汽车传动系统为汽车动力总成重要组成部分 我国市场参与者数量不断增长
汽车传动系统为汽车动力总成重要组成部分 我国市场参与者数量不断增长 汽车系统主要包括动力系统、制动系统、传动系统、转向系统、行驶系统、燃油供给系统、照明系统以及电器系统。汽车传动系统指能够将发动机产生的动力转化为车辆行驶驱动力的动力传递装置。汽车传动系统为汽…...
![](https://img-blog.csdnimg.cn/direct/0f0253ec382e4c52b7baab3c0c6af9ca.png)
智慧校园软件解决方案:提升学校管理效率的最佳选择
在当今教育领域,智慧校园信息化方案正逐渐成为提升学校管理水平与教学品质的关键途径。这一方案融合了最新科技,通过数字化、网络化及智能化方式,全面革新教育资源分配与教育互动模式,旨在为学校带来以下核心价值与优势 1. 综合信…...
![](https://img-blog.csdnimg.cn/direct/2e9a4e9be506447fa0f76fcf8498a3a3.png)
数据结构之B数
目录 1.概述 2.特点 3.诞生 4.优缺点 4.1.优点 4.2.缺点 5.应用场景 6.C语言中的B树实现例子 7.总结 1.概述 B树(B-tree)是一种自平衡的树数据结构,广泛应用于数据库和文件系统中,以便高效地进行顺序读取、写入以及查找…...
![](https://www.ngui.cc/images/no-images.jpg)
计算机基础必须知道的76个常识!沈阳计算机软件培训
01 信息技术是指人们获取、存储、传递、处理、开发和利用信息资源的相关技术。 02 1、计算机的特点: (1)运算速度快 (2)存储容量大 (3)通用性强 (4)工作自动化 &…...
![](https://img-blog.csdnimg.cn/direct/b27b929e7d9f4ed7b34e43c241aed1db.png)
7,KQM模块的驱动
1,查资料,查模块的通信接口(单片机和模块之间采用什么方式通信)硬件接口,驱动方式(串口驱动用串口发送接收PC10,PC11) 只用了三个脚:VCC GND T&…...
![](https://img-blog.csdnimg.cn/direct/585710b9f3dd4d2a95e12ce2358b4942.jpeg#pic_center)
软件验收测试报告模版分享,如何获取专业的验收测试报告?
软件验收测试报告是对软件开发过程中的最后一步确认,通过对软件进行全面、系统的检查和测试,形成一份详细的报告,以评估软件是否满足用户需求和设计要求。验收测试报告起到了非常重要的作用,不仅可以帮助开发者了解软件开发的质量…...
![](https://img-blog.csdnimg.cn/direct/3fc9d7c395044c16a753af4ee9818e4a.png)
【arm扩容】docker load -i tar包 空间不足
背景: 首先我在/home/nvidia/work下导入了一些镜像源码tar包。然后逐个load进去。当我 load -i dev-aarch64-18.04-20210423_2000.tar包的时候,出现 Error processing tar file(exit status 1): write /9818cf5a7cbd5a828600d9a4d4e62185a7067e2a6f2ee…...
![](https://img-blog.csdnimg.cn/direct/d438666d27a6476fae3e629650e08f9c.png)
基于PID的直流电机自动控制系统的设计【MATLAB】
摘 要 本文在广泛查阅资料,了解直流电机特性的基础上,对直流电机的控制原理进行了的研究,设计了一款基于PID控制器的简单直流电机自动控制系统。 首先,分析了直流电机的应用背景和发展现状,对直流电机的工作原理和数学…...
![](https://www.ngui.cc/images/no-images.jpg)
MySQL----事务
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如,在学校管理系统中,我们删除一个学生,既需要删除学生的基本资料,也要删除和该学生相关的信息,如班级,考试成绩等等,这样&#…...
![](https://img-blog.csdnimg.cn/img_convert/fb035ba7656ef65ef481556da849025a.jpeg)
客观评价,可道云teamOS搭建的企业网盘,如Windows本地电脑一般的使用体验真的蛮不错
不管是企业网盘还是私有网盘,简单易用一直是我比较在意的。快速能上手使用,甚至不需要习惯一套新的操作逻辑,代表着不需要学习适应,能够迅速投入正常使用。 在这个过程中,可道云teamos以其Windows电脑般的流畅体验&am…...
![](https://www.ngui.cc/images/no-images.jpg)
当页面中有多个echarts图表的时候,resize不生效的修改方法
一、本来的代码 var myChart1 this.$echarts.init(document.getElementById(‘xxxx’)); let option {}; myChart1.setOption(option); setTimeout(function () {window.onresize function () {myChart1.resize();} }, 200) 二、修改后的代码 var myChart1 this.$echart…...
![](https://img-blog.csdnimg.cn/img_convert/8d489d7afd3979a65b0dc64f78fa5e9c.jpeg)
connect-caption-and-trace——用于共同建模图像、文本和人类凝视轨迹预测
介绍 论文地址:https://arxiv.org/abs/2105.05964 源码地址:https://github.com/facebookresearch/connect-caption-and-trace 在过去,计算机视觉和自然语言处理领域的模型和算法的发展只有偶尔的重叠,但近年来,这两…...
![](https://www.ngui.cc/images/no-images.jpg)
iOS API方法弃用警告说明及添加
一、常见系统方法警告或说明释义 NS_DEPRECATED_IOS(6_0, 8_0) 释义:iOS用;且在6.0被引用,将在8.0后废弃此方法。NS_DEPRECATED(6_0, 6_6, 8_0, 8_8) 释义:MacOS与iOS中都可用;但Mac系统中是在6.0被引用,6…...
![](/images/no-images.jpg)
hao123从上网官网/seo案例视频教程
1005 继续(3n1)猜想 (25 分) 题目链接 算法分析 对于每一个数,都跑一次处理,把过程中出现的数字在on数组中标记为1,然后再判断是否被覆盖即可。 代码实现 #include<bits/stdc.h> using namespace std;int on[10000], a[110]; int …...
![](https://www.oschina.net/img/hot3.png)
cms官方网站/微信营销软件免费版
2019独角兽企业重金招聘Python工程师标准>>> 错误:500 OOPS: cannot change directory:/home/uftp 意思是:不能改变目录:/ home / uftp 原因:经过查看,发现并没有/ home / uftp这个目录 解决方案:修改该ftp…...
![](https://img-blog.csdnimg.cn/img_convert/fe1018dd36dc6d1473a19782cc09b364.png)
百度抓取网站图片/seo快速提升排名
一年前,在公司大佬的指点之下,我开始写系统级重构工具 Coca (https://github.com/phodal/coca) 。哦,不,不对,是刚开始学习 Golang,因为我的第一次提交是从一个 Go 的 hello, world 写起的。commit a685d69…...
做外贸出口衣服的网站/网站策划是干什么的
i.MX6邮票孔核心板,核心板引出146PIN脚 核心板尺寸:38mm*42mm 内存:512MDDR3 存储:8G EMMC 工作电压:5V电压供电 运行温度:-20℃ ~ 80℃ 引脚间距:1.27mm 连接方式:邮票孔 PCB&…...
![](/images/no-images.jpg)
做微信网站多少钱/网站制作
原文:I Love IIS7 在这个节日(这个节日对于我来说,明天早上9:45结束)里,我做了一些web编程,我发现我爱上IIS7了。我喜欢它的新元素"联合的" config,它允许每个虚拟目录指定其自身的脚本映射,即你…...
![](/images/no-images.jpg)
wordpress添加3d地图/网站排名seo
作为一名前端工程师,一个好的编辑器可以在编码期间,事半功倍。这里我分享一下vs code和atom这两种现今非常流行的编辑器,各有各的优缺点,看大家的喜好。我比较倾向于vs code,顺便也把插件整理了一下,给大家…...