V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winRain
V2EX  ›  程序员

MongoDB 高可用架构修改数据被还原??

  •  
  •   winRain · 2021-01-04 18:21:19 +08:00 · 1606 次点击
    这是一个创建于 1199 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前一个项目使用 SpringWebFlux + MongoDB 进行开发,但是目前线上环境出现这样一个问题。在主库修改了用户的密码,从库的记录会更新,但是在差不多一分钟之后,主库和从库的记录就会被还原成以前的值。另外,我删除了一条记录后,记录也会被恢复。所以,我觉得应该能够排除代码里面对记录进行还原的可能性,剩下的就只有 MongoDB 高可用架构的问题。但是数据库环境不是我搭建,对 MongoDB 也不是太熟悉,所以想请教一下各位,是不是数据库的原因造成这个问题的可能性比较大,以及 MongoDB 是不是本身存在这样的问题,应该如何解决?

    第 1 条附言  ·  2021-01-05 10:40:39 +08:00
    是这样,一份代码,有 A,B 两套环境,两套环境在 A,B 环境上都使用了 MongoDB 高可用架构。但是 A 环境上存在前面所说的数据会被还原问题,B 环境上就不存在这样的问题。这是否足够说明是 A 环境的 MongoDB 存在问题?
    6 条回复    2021-01-05 11:22:44 +08:00
    opengps
        1
    opengps  
       2021-01-04 18:25:11 +08:00
    这么大的问题,却并没有被别人爆发出来,这就将出问题的可能性回到了楼主的项目里。
    既然改动是 1 分钟左右,那就看看是不是有什么定时任务触发的。
    Anybfans
        2
    Anybfans  
       2021-01-04 21:06:00 +08:00 via iPhone   ❤️ 1
    感觉是代码问题 建议排查代码
    streamrx
        3
    streamrx  
       2021-01-04 21:42:01 +08:00 via iPhone   ❤️ 1
    应该是代码的问题
    Thetruechar
        4
    Thetruechar  
       2021-01-05 00:24:02 +08:00 via Android
    查 read concern 和 write concern
    winRain
        5
    winRain  
    OP
       2021-01-05 10:40:59 +08:00
    @Thetruechar 好的,我试试
    winRain
        6
    winRain  
    OP
       2021-01-05 11:22:44 +08:00
    @Thetruechar 不行啊,老哥。我更新操作设置了 writeConcern: {w: 2 },查询操作设置了 readPref("secondaryPreferred").readConcern("majority"),但是我更新和删除一条记录后,操作都会被还原
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5542 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:00 · PVG 14:00 · LAX 23:00 · JFK 02:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.