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

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

  • 相关阅读:
    洛谷 P2008 大朋友的数字
    [USACO10FEB]慢下来Slowing down
    HAOI2007 理想的正方形 单调队列
    滑动窗口
    双栈排序
    概率无向图模型与条件随机场的异同
    P-R曲线出现凹陷的原因
    MaskLab-实例分割(使用语义分割和方向特征精细化目标检测)
    模拟递归生成器
    递归生成器
  • 原文地址:https://www.cnblogs.com/zhuangmingnan/p/9410963.html
Copyright © 2011-2022 走看看