[问题排查]记录一次两个dubbo提供者同时在线,代码不一致导致问题的排查记录
2024-08-29 21:15:14
1. 需求
有一个需求job定时5秒一次,job【消费者】调用dsc【提供者】提供的dubbo完成:先清空redis的某个key,然后再往redis中放入新的数据,这是一个定时任务,需要每隔5秒执行一次;
2. 问题场景
某次上线发布之后,发现再写入redis中添加了多一点数据的写入,然后发布之后发现一个奇怪的情况,就是redis中数据一下子有,隔几秒又没有的问题,查找了一个早上,盯着日志看了很久都没发现问题;
3. 解决过程
最后询问一个同事,
他问:是走dubbo接口的吗?
回:是
他问:那你可以看一下dubbo-mointer会不会存在两个提供者。
最后从dubbo的监控中看到有两个dubbo的提供者,url完全一样,但是一个服务上线了新的代码,一个服务忘记上线新代码了,导致如果job调用到新的代码就会有新数据的返回,如果调用旧的就会没有数据;
4. 解决方案【选一种执行】
4.1 将旧的服务停止
4.2 将服务代码更新
5. 总结
使用微服务架构的时候,很多时候考虑问题不能用单机模式的思维了,需要转换成分布式的思想,就是服务可能分布在多个地方,查找问题的时候需要从多个角度来思考问题。
最新文章
- Android 环境搭建
- C++公有派生
- 2层Xml读取类
- cookie那些事
- Eclipse中使用版本控制----Git
- Spring Security入门(2-2)Spring Security 的运行原理 2
- DSAPI HTTP监听服务端与客户端_指令版
- UBUNTU安装 SSH 服务
- python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法
- 55.Vue环境搭建
- docker删除镜像文件时,出现image is referenced in multiple repositories如何解决
- 18.纯 CSS 创作 404 文字变形为 NON 文字的交互特效
- [leetcode]Max Points on a Line @ Python
- Android和Linux下设备节点的创建笔记
- Java 裁剪图片
- EasyTouch5初步用法和其中的一个Bug
- Tomcat服务器端口的配置
- c#中var类型用法同dynamic,object区别
- 用canvas和原生js写的一个笨鸟先飞的小游戏(暂时只有一个关卡)
- [转载]FFmpeg完美入门[1] - FFmpeg介绍及安装
热门文章
- 《阿里巴巴 Java 开发手册》划重点!
- PHP实现微信发红包功能2
- day4-课堂笔记
- shiro实战系列(十二)之常用专业术语
- OpenCV (C++) 几何形状识别(面积过滤、横纵比过滤等等)
- OpenCV——ROI截取、线性混合、通道分离、合并、亮度对比度调整
- javascript实现拖曳与拖放图片
- openJDK环境搭建编译(fedora)
- jsp泛型支持
- 报错Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA