MongoDB-Replica Set Read and Write

无论MongoDB是以单个节点或是复制集的形式存在,对于应用程序是透明的。默认情况下,MongoDB的读请求将在主节点上执行,并一直与最后一次的写操作保持数据的一致性。用户可以配置每一个连接的复制集读选项来让将其读请求发送到从节点上。这种情况的出现一般和数据的最终一致性有关,虽然从节点的数据集最终会和主节点保持一致,但从节点进行的读操作并不能保证严格数据一致性。为了保证从节点读操作的数据一致性,可以配置客户端来确保写操作应用到复制集的所有节点才算成功。

Write Concern  for Replica Set

Verify Write Operations to Replica Set

复制集在默认安全写级别下,仅确认数据是否写入主节点。然而,我们可以修改安全写级别来确保写操作在复制集中指定个数的节点完成写操作。

我们可以在每次写操作指定安全写级别来规避默认安全写级别。在安全写级别设置超时限制,可以避免在复制集节点达不到目标时造成阻塞。

Modify Default Write Concern

我们可以通过修改复制集配置中getLastErrorDefaults来设置复制集的默认安全级别。下面的配置命令效果是:写操作只有在复制集中多数节点回应后才会完成。

Custom Write Concerns

你可以给复制集中某个成员打标签,然后根据标签来设置安全级别。

Read Preference

复制集读选项决定了在复制集中读操作的路由方式。

Use Cases

Indications

Counter-Indications

Read Preference Modes

Tag Sets

Read Preference Processes

时间: 2024-08-11 09:52:23

MongoDB-Replica Set Read and Write的相关文章

Simple Automated Backups for MongoDB Replica Sets

There are a bunch of different methods you can use to back up your MongoDB data, but if you want to avoid downtime and/or potential performance degradation, the most common advice seems to be that you should simply do all your backups on a slave. Thi

MongoDB Replica Set搭建集群

MongoDB做集群,版本3.2官网推荐的集群方式Replica Set 准备服务器3台 两个standard节点(这两个节点直接可以互切primary secondary). 一个arbiter节点,它手中握着一张选票,决定上面两个standard节点中的哪一个可以成为primay. 机器名称和预承担的角色如下: test39 primary test41 secondary test42 arbiter 介绍一下涉及到的参数 --dbpath   数据文件路径 --logpath  日志文件

mongodb replica set 添加/删除节点方法--http://www.ii123.com/jc/bc/bczh/258948.html

replica set多服务器主从,添加,删除节点,肯定会经常遇到的.下面详细说明一下,添加,删除节点的2种方法. 一,利用rs.reconfig,来添加,删除节点 1,添加节点  代码如下   repmore:PRIMARY> config = {_id:"repmore",members:[{_id:0,host:'127.0.0.1:27017',priority :2},{_id:1,host:'127.0.0.1:27018',priority:1}]};   //添加

Mongodb Replica Set 读写分离

环境:mongodb版本:2.4.6,Replica Set 需求:primary压力过大,期望secondary分担读压力 前言 从应用程序角度来看,使用Replica Set 和使用单台mongo很像.默认的驱动程序会连接primary节点,并且将所有读写请求都路由到主节点.但也可以通过设置驱动程序的Read Preferences配置其他选项,将读请求路由到其他节点.但需要知道的是将读请求路由到其他节点所带来的问题......  附:驱动程序连接到Replica Set常用的连接字符串类似

MongoDB Replica Set使用经验分享

MongoDB Replica Set是MongoDB官方推荐的主从复制和高可用方案,用于替代原有的Master-Slave主从复制方案.Replicat Set具有自动切换功能,当Primary挂掉之后,可以自动由Replica Set中的某一个Secondary来切换到Primary,以实现高可用的目的,不像MySQL那样需要使用第三方软件. 目前很多游戏公司都开始使用MongoDB作为数据库,我们公司线上使用的版本是2.4.6. 一  MongoDB Replica Set的原理 复制主要

mongodb replica set 和 nodejs中使用mongoose连接replica

一.mongodb replication 介绍 官网上的第一句话就是Replication is the process of synchronizing data across multiple servers.翻译过来就是replication(复制)是跨多个服务器同步的过程,基本原理就是一个主服务器和很多从服务器通过同步日志的方式来达到数据一致的目的,并且有且只有一个主服务器,在mongodb中也叫主节点(primary node)负责写操作,而从服务器,也叫次要节点(secondary

第五部分 架构篇 第十四章 MongoDB Replica Sets 架构(自动故障转移/读写分离实践)

说明:该篇内容部分来自红丸编写的MongoDB实战文章. 1.简介 MongoDB支持在多个机器中通过异步复制达到故障转移和实现冗余,多机器中同一时刻只有一台是用于写操作,正是由于这个情况,为了MongoDB提供了数据一致性的保障,担当primary角色的服务能把读操作分发给Slave(详情请看前两篇关于Replica Set成员组成和理解). MongoDB高可用分为两种: Master-Slave主从复制:只需要在某一个服务启动时加上-master参数,而另外一个服务加上-slave与-so

第五部分 架构篇 第十五章 MongoDB Replica Sets 架构(动态增加删除结点)

1.Replica Set增加结点 MongoDB Replica Set不仅提供高可用性的解决方案,它也同时提供负载均衡的解决方案,增减Replica Sets结点在实际应用中非常普遍,比如当应用的读压力暴增时,3台结点的环境已经不能满足需求,那么就需要增加一些结点将压力平均分配一下,当应用的压力小时,可以减少一些结点来减少硬件资源的成本,总是是一个长期且持续的工作. 官方给我们提供了2个方案用于增加结点,一种是通过oplog来增加结点,一种是通过数据库快照(--fastsync)和oplog

MongoDB (replica set) 集群配置

MongoDB Replica Sets的结构类似于以集群,完全可以把他当成一个集群,因为他确实与集群实现的作用是一样的:如果其中一个节点出现故障,其他的节点会马上将业务接管过来.而无需停机操作 MongoDB Replica Sets的配置步骤: 1:启动三个节点 (mongodb\mongodb\bin\  为mongo 所在文件夹) 启动第1个节点:mongodb\mongodb\bin\mongod --replSet rs3/127.0.0.1:28011,127.0.0.1:2801

How to monitor mongodb replica set using prometheu

How to monitor mongodb replica set using prometheus 监控mongodb replica set其实有很多方式: Using zabbix template to view mongodb data(zabbix+grafana) Mongodb官方自己的,不过现在收费了 Prometheus通过mongodb-exporter收集数据,然后使用Grafana展示数据(prometheus+grafana) etc... Install prom