控制写操作的持久性级别 —— WriteConcern是怎样的
上图为 WriteConcern 标准的配置格式,包括三个子参 数: ·w: 决定了写操作返回前需要等待多少个副本集节点的 确认。 · j: 决定写操作产生的日志是否已经落盘。 ·wtimeout:决定了写操作等待的超时时间,避免客户 端一直阻塞。 下面具体演示几个 WriteConcern 配置的值。
如上图,当 W:1 时,写操作在本地执行完成后,直接向 客户端返回成功,无需等待日志(Journal)刷盘。
如上图,当 W:1,J:true 时,区别于 W:1 的主要特点在 于写操作在本地执行完成后,需要等待日志(Journal) 刷盘,会增加额外延迟。
如上图,当 W: "Majority",当下发了这个写操作之 后,除了需要在 Primary 节点 Apply 完成,还需要 复制到其中一个 Secondary 节点去 Apply 完成,才能 向 Driver 反馈写操作成功。 在三节点副本集情况下,"Majority"相当于两个节 点,等同于 W:2。
资源来源:电子书《玩转MongoDB从入门到实战》,下载链接:https://developer.aliyun.com/topic/download?id=1060
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。