如何解决后台日志显示Nacos客户端不断重复拉取配置的问题
文章目录
- 如何解决后台日志显示Nacos客户端不断重复拉取配置的问题
- 问题描述
- 问题原因
- 解决方法
- 临时解决方法
- 永久解决方法
如何解决后台日志显示Nacos客户端不断重复拉取配置的问题
问题描述
后台服务日志显示Nacos客户端(每个后台服务就是一个Nacos客户端)不断从Nacos服务端拉取配置。
日志示例:
2020-09-01 08:19:55.942 [com.alibaba.nacos.client.Worker.longPolling ...] INFO com.alibaba.nacos.client.config.impl.ClientWorker - ... [polling-resp] config changed. dataId=xxx.yaml, group=DEFAULT_GROUP, tenant=stage2020-09-01 08:19:55.944 [com.alibaba.nacos.client.Worker.longPolling. ...] INFO com.alibaba.nacos.client.config.impl.ClientWorker - ... [data-received] dataId=xxx.yaml, group=DEFAULT_GROUP, tenant=stage, md5=0200cc9f703c0c1562c7ac33370a0e0f, content=...
仔细看日志,Nacos客户端判断Nacos服务端的配置文件发生了变化(config changed),所以Nacos客户端才会从Nacos服务端拉取配置,但是Nacos服务端上的配置并没有改变。
在Nacos控制台上打开该配置文件的详情,会发现该配置文件的MD5值与后台服务日志中打印的MD5值不一致,Nacos控制台上显示的MD5值前面少了0。
问题原因
因为使用的Nacos 1.2.1版本有一个已知的MD5问题,对同一个配置文件,Nacos客户端和Nacos服务端计算出的MD5值(校验和)不一致,会导致Nacos客户端认为该配置在Nacos服务端有更新,导致Nacos客户端不断从Nacos服务端拉取配置。
参见:
- https://github.com/alibaba/nacos/issues/2722
解决方法
临时解决方法
在Nacos控制台上,修改配置文件(比如加一些不会影响格式的空格),再保存。这时Nacos客户端会重新拉取配置,并计算MD5值,只要计算出的MD5值不以0开头,就不会触发Nacos的MD5 bug。
永久解决方法
在Nacos GitHub上已经将1.2.1版本标注为“Not Suggest Have MD5 Problem“,因此可以将Nacos升级到高版本来解决。
参见:
- https://github.com/alibaba/nacos/releases
如何解决后台日志显示Nacos客户端不断重复拉取配置的问题相关推荐
- 从Nacos客户端视角来分析一下配置中心实现原理
目录 一 动态配置 1. 环境准备 2.新建配置 3.导入配置 4.配置客户端 5. 修改配置信息 6.小结 二 配置中心原理(推还是拉) 1.实例化 ConfigService 2.添加 List ...
- 在使用Nacos拉取配置的时候报错
报错信息 Error creating bean with name 'userController': Injection of autowired dependencies failed; nes ...
- git显示服务器所有分支,怎么拉取git服务器上面的分支到本机?
一.查看远程分支 使用如下git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout -b 本地分支名x origin/ ...
- Nacos配置管理-微服务配置拉取
从微服务拉取配置 微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动. 但如果尚未读取application.yml,又如何得知nacos地址呢? ...
- [移动网关]2G环境下资源下载有一定概率失败,客户端日志显示收到403错误
2G环境下资源下载有一定概率失败,客户端日志显示收到403错误 问题现象: 测试同学在使用联通号码在移动网络环境下,访问连接得到的response_code出现是403,导致资源读取失败表情显示异常. ...
- (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题
(配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题 SpringMVC.xml中加 <!-- 配置消息转换器(解决中文乱码问题)--><mvc:annotati ...
- win10系统老是自动重复,查看日志显示来源:DistributedCOM,事件:10016,解决办法
win10系统老是自动重复,查看日志显示来源:DistributedCOM,事件:10016,解决办法 1.查看系统日志 2.解决过程 这阵子不懂电脑怎么了老是自动重启,写着写着代码就重启很是蛋疼,去 ...
- Django解决扩展用户表时,后台Admin显示密码为明文的问题
小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流 Django解决当扩展用户表时,用户继承AbstractUser后,后台Admin会 ...
- Java后台日志实时显示
本文仅是一个简单的案例,web端实时显示Java后台日志.需要频繁请求后台以获取日志,并不是长连接. 可以前端传每次想要展示的行数和从第几个字节开始(假设日志文件总共123456字节,但是只想从334 ...
最新文章
- throttle与debounce的区别
- Pandas数据挖掘与分析时的常用方法
- 深度学习资料汇总(满满的干货)
- java中cell无法输出_java – iText 5.5.3 PDFPCell:长文本不适合单元格(不正确地包装文本)...
- linux wait 子孙进程,Linux-进程基础
- 怀旧服最新服务器塞卡尔,魔兽世界怀旧服:10个至今未开门的服务器!圣光服进度刚到20%!...
- 小程序navigator跳转路径url写法
- rsync增量同步标志位详细解释
- php做抖音在微信中播放,微信小程序实现抖音播放效果的实例代码
- Rails笔记《一》Routing
- APKTOOL打包方法
- iphone 蓝牙开发 总结
- 【Linux修炼】开篇
- PHP-中文转换成拼音
- android 预览和拍照成像方向不一致,android 拍照 预览图与 照片分辨率(可视区域)不一致...
- 比尔盖茨小时候的故事
- Unity3D获取游戏对象组件的三种方式
- C Primer Plus 第五章 编程练习
- 12C DELETE FROM wri$_adv_sqlt_rtn_planWHERE task_id = :tid AND exec_name = :execution_name
- Android Build类获取设备信息
热门文章
- android 系统 keyboard 第一个字母是大写,「这个控件叫什么」系列之虚拟键盘/软键盘/Soft Keyboard...
- 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)
- AndroidStudio学习(一)--区分版本
- KMP的Next数组应用总结
- 【机器学习笔记】 模型评估:查准率、查全率和F1
- 机器学习的查准率、查全率和F1-score
- 关于欧几里得定理和拓展欧几里得定理的理解 续
- python 三种方法输出绝对值
- 图书馆管理系统程序测试计划
- VLAN-802.1Q(access与trunk)