为了避免这样的极端的情况MONGODB 在3.2版本后,提出了一个概念 read concern ,其中本意是你读到的数据是不能被回滚的,必须是在MONGODB 中的大多数都被写入的数据....read concern,则你的这个大多数就不在成立了,此时你的cache 的压力会猛增, 所以注意如果你使用 PSA的架构,那就不太建议你打开这个READ CONCERN....并且还有提示,如果你不使用这个功能则可以保证你的系统运行是平稳的,那么问题就来了,如果我不使用这个功能, 但我想保证在极端的情况下,我的数据不会因为回滚而造成 dirty read....,将write concern 改变为 W:2, 这样我们就可以保证我们的集群的数据在极端的情况下不会被回滚,并且读取数据降低是脏读的可能性....同时使用这个方法,还能避免一些数据一致性的问题,举例我有三个节点,我读取数据在一个从库,而恰巧这个从库还为得到主库的数据,那么我读取数据就会产生,主库或者另外一个从库明明有这个数据,但这个从库就是没有的问题