文章目录

  • 如何解决后台日志显示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客户端不断重复拉取配置的问题相关推荐

  1. 从Nacos客户端视角来分析一下配置中心实现原理

    目录 一 动态配置 1. 环境准备 2.新建配置 3.导入配置 4.配置客户端 5. 修改配置信息 6.小结 二  配置中心原理(推还是拉) 1.实例化 ConfigService 2.添加 List ...

  2. 在使用Nacos拉取配置的时候报错

    报错信息 Error creating bean with name 'userController': Injection of autowired dependencies failed; nes ...

  3. git显示服务器所有分支,怎么拉取git服务器上面的分支到本机?

    一.查看远程分支 使用如下git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout -b 本地分支名x origin/ ...

  4. Nacos配置管理-微服务配置拉取

    从微服务拉取配置 微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动. 但如果尚未读取application.yml,又如何得知nacos地址呢? ...

  5. [移动网关]2G环境下资源下载有一定概率失败,客户端日志显示收到403错误

    2G环境下资源下载有一定概率失败,客户端日志显示收到403错误 问题现象: 测试同学在使用联通号码在移动网络环境下,访问连接得到的response_code出现是403,导致资源读取失败表情显示异常. ...

  6. (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题

    (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题 SpringMVC.xml中加 <!-- 配置消息转换器(解决中文乱码问题)--><mvc:annotati ...

  7. win10系统老是自动重复,查看日志显示来源:DistributedCOM,事件:10016,解决办法

    win10系统老是自动重复,查看日志显示来源:DistributedCOM,事件:10016,解决办法 1.查看系统日志 2.解决过程 这阵子不懂电脑怎么了老是自动重启,写着写着代码就重启很是蛋疼,去 ...

  8. Django解决扩展用户表时,后台Admin显示密码为明文的问题

    小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流 Django解决当扩展用户表时,用户继承AbstractUser后,后台Admin会 ...

  9. Java后台日志实时显示

    本文仅是一个简单的案例,web端实时显示Java后台日志.需要频繁请求后台以获取日志,并不是长连接. 可以前端传每次想要展示的行数和从第几个字节开始(假设日志文件总共123456字节,但是只想从334 ...

最新文章

  1. throttle与debounce的区别
  2. Pandas数据挖掘与分析时的常用方法
  3. 深度学习资料汇总(满满的干货)
  4. java中cell无法输出_java – iText 5.5.3 PDFPCell:长文本不适合单元格(不正确地包装文本)...
  5. linux wait 子孙进程,Linux-进程基础
  6. 怀旧服最新服务器塞卡尔,魔兽世界怀旧服:10个至今未开门的服务器!圣光服进度刚到20%!...
  7. 小程序navigator跳转路径url写法
  8. rsync增量同步标志位详细解释
  9. php做抖音在微信中播放,微信小程序实现抖音播放效果的实例代码
  10. Rails笔记《一》Routing
  11. APKTOOL打包方法
  12. iphone 蓝牙开发 总结
  13. 【Linux修炼】开篇
  14. PHP-中文转换成拼音
  15. android 预览和拍照成像方向不一致,android 拍照 预览图与 照片分辨率(可视区域)不一致...
  16. 比尔盖茨小时候的故事
  17. Unity3D获取游戏对象组件的三种方式
  18. C Primer Plus 第五章 编程练习
  19. 12C DELETE FROM wri$_adv_sqlt_rtn_planWHERE task_id = :tid AND exec_name = :execution_name
  20. Android Build类获取设备信息

热门文章

  1. android 系统 keyboard 第一个字母是大写,「这个控件叫什么」系列之虚拟键盘/软键盘/Soft Keyboard...
  2. 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)
  3. AndroidStudio学习(一)--区分版本
  4. KMP的Next数组应用总结
  5. 【机器学习笔记】 模型评估:查准率、查全率和F1
  6. 机器学习的查准率、查全率和F1-score
  7. 关于欧几里得定理和拓展欧几里得定理的理解 续
  8. python 三种方法输出绝对值
  9. 图书馆管理系统程序测试计划
  10. VLAN-802.1Q(access与trunk)