zoukankan      html  css  js  c++  java
  • [问题排查]记录一次两个dubbo提供者同时在线,代码不一致导致问题的排查记录

    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. 总结

      使用微服务架构的时候,很多时候考虑问题不能用单机模式的思维了,需要转换成分布式的思想,就是服务可能分布在多个地方,查找问题的时候需要从多个角度来思考问题。

  • 相关阅读:
    uitoolbar 圆角
    json
    MFC 控件使用笔记
    automake和autoconf使用介绍
    [译]C# Socket连接请求超时机制
    linux 环境变量的配置
    OK6410,修改调试串口,屏蔽调试输出,增加启动画面
    UML图各类符号含义
    图解UML类与类之间的六中关系
    C#综合揭秘——深入分析委托与事件
  • 原文地址:https://www.cnblogs.com/zhuangmingnan/p/9410963.html
Copyright © 2011-2022 走看看