目前一个项目使用 SpringWebFlux + MongoDB 进行开发,但是目前线上环境出现这样一个问题。在主库修改了用户的密码,从库的记录会更新,但是在差不多一分钟之后,主库和从库的记录就会被还原成以前的值。另外,我删除了一条记录后,记录也会被恢复。所以,我觉得应该能够排除代码里面对记录进行还原的可能性,剩下的就只有 MongoDB 高可用架构的问题。但是数据库环境不是我搭建,对 MongoDB 也不是太熟悉,所以想请教一下各位,是不是数据库的原因造成这个问题的可能性比较大,以及 MongoDB 是不是本身存在这样的问题,应该如何解决?
1
opengps 2021-01-04 18:25:11 +08:00
这么大的问题,却并没有被别人爆发出来,这就将出问题的可能性回到了楼主的项目里。
既然改动是 1 分钟左右,那就看看是不是有什么定时任务触发的。 |
2
Anybfans 2021-01-04 21:06:00 +08:00 via iPhone 1
感觉是代码问题 建议排查代码
|
3
streamrx 2021-01-04 21:42:01 +08:00 via iPhone 1
应该是代码的问题
|
4
Thetruechar 2021-01-05 00:24:02 +08:00 via Android
查 read concern 和 write concern
|
5
winRain OP @Thetruechar 好的,我试试
|
6
winRain OP @Thetruechar 不行啊,老哥。我更新操作设置了 writeConcern: {w: 2 },查询操作设置了 readPref("secondaryPreferred").readConcern("majority"),但是我更新和删除一条记录后,操作都会被还原
|