`
CtripMySQLDBA
  • 浏览: 57292 次
  • 来自: 上海
社区版块
存档分类
最新评论

MongoDB的Replica Set

阅读更多

MongoDB支持在多个机器中通过异步复制达到故障转移和实现冗余。多机器中同一时刻只有一台是用于写操作。
MongoDB的复制机制分为两种:
1 Master-Slave 主从复制:MongoDB的最新版本已不再推荐此方案。
2 Replica Sets复制集:增加了故障自动切换和自动修复成员节点,各个DB之间数据完全一致,大大降低了维护成功。

从节约资源的角度出发,我们一般都只用两台机器来部署MongoDB的复制集,在备节点所在服务器上再运行一个仲裁节点,然后将主节点的优先级调高,以保证仲裁节点总和备节点在一起。



 

基本上所有mongodb的连接驱动都支持连接复制集的方式,且方法大同小异,以Python为例:

>>>import pymongo
conn=pymongo.ReplicaSetConnection(
... "192.168.XX.XX:27017,192.168.XX.XX:27017,192.168.XX.XX:27018",
... replicaSet="myset",
... read_preference=3,
... safe=True)

read_preference:
0 查询只往PRIMARY机器发送
1 查询主要往PRIMARY机器发送,当PRIMARY机器不可用时,往SECONDARY机器发送查询请求
2 查询只往SECONDARY机器发送,如果没有可用的SECONDARY机器则报错
3 查询请求优先发往SECONDARY节点,当没有SECONDARY节点可用时,将查询发往PRIMARY节点
4 查询在所有成员间分发
read_preference设置为3的话可以自动实现读写分离。

 

 

  • 大小: 41.1 KB
1
0
分享到:
评论

相关推荐

    mongodb replica set(副本集)设置步骤

    MongoDB的副本集(Replica Set)是一种高可用性解决方案,它通过在多个节点之间复制数据来确保数据的冗余和容错性。在MongoDB中,副本集由一组 MongoDB实例组成,包括一个主节点(Primary)和多个从节点...

    k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)

    k8s 安装 MongoDB 分片(Sharding)+ 副本集(Replica Set) k8s 安装 MongoDB 分片(Sharding)+ 副本集(Replica Set)是结合 Kubernetes(k8s)和 MongoDB 实现高可用性和高性能的解决方案。本解决方案通过使用 ...

    MongoDB的replica set的部署,检测优化,

    MongoDB的复制集(Replica Set)是一种高可用性架构,用于确保数据的冗余和容错性。在MongoDB中,复制集是由多个具有相同数据副本的节点组成,其中一个是主节点(Primary),其余是次级节点(Secondary)。主节点...

    mongodb replica set 配置高性能多服务器详解

    MongoDB的Replica Set是一种高可用性和数据冗余的解决方案,它可以确保在多个服务器之间复制数据,从而提高系统的性能和容错能力。与Master-Slave模式不同,Replica Set可以自动实现故障转移和恢复,增加了系统的...

    mongodb Replica Sets +Sharding高可用集群搭建

    在大型分布式系统中,为了实现高可用性和水平扩展,MongoDB提供了两种关键特性:副本集(Replica Sets)和分片(Sharding)。这篇博客将探讨如何搭建MongoDB的副本集和分片集群。 首先,我们来理解一下MongoDB的...

    mongodb replica set 添加删除节点的2种方法

    MongoDB的复制集(Replica Set)是一种高可用性解决方案,它可以确保数据的冗余和在主节点故障时提供自动故障转移。复制集通常由多个成员组成,包括一个主节点(Primary)、一个或多个次级节点(Secondary)以及可选...

    docker-mongodb-replicaset:docker-mongodb-replicaset

    信息 该文件描述了如何在 Docker 上运行 Mongo DB Replica Set。 我们假设主机上的 ...$ cd docker-mongodb-replicaset $ docker build -t mongo . 使用副本集启动 docker 容器 $ ./start.sh 使用 bash 再运行一个

    MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法

    由于历史原因,某个MongoDB副本集只有一主一从双节点,无法满足自动故障转移要求,需要配置一个仲裁节点。 原有节点192.168.10.20:27017,192.168.10.21:27017,现在准备在20上配置一个新节点27018当做仲裁 在当前主...

    mongodb_replica

    - 其中,`username`和`password`是数据库认证信息,`host1:port1,host2:port2`是副本集成员的地址,`dbname`是数据库名,`replicaSet=rs0`指定了副本集名称。 4. **读写策略** - SpringBoot 默认会将所有操作发送...

    C#开发的Mongodb集群自动部署工具

    4. MongoDB Replica Set 自动部署.exe和MongDB Replica Set 自动部署.pdb:这是实际的自动部署程序和其对应的调试信息文件。exe文件是可执行程序,可以直接运行在Windows环境下,通过SSH连接到Linux服务器并执行部署...

    MongoDB在金融行业的应用.pptx

    福米通过将单一的MongoDB Replica Set拆分为多个数据中心,配合Fumi-Mongo-Kafka组件实现跨数据中心的数据同步,提高了系统的抗风险能力。 3. 内存设置与IOPS要求: - MongoDB的内存设置和IOPS需求对服务器成本有很...

    Mongodb的ReplicaSets+Sharding架构(window篇)

    MongoDB的Replica Sets+Sharding架构是大数据时代下应对高可用性和可扩展性需求的重要解决方案。本篇文章将深入探讨这两个关键特性在Windows环境下的应用。 **副本集(Replica Sets)** MongoDB的副本集是一种高可用...

    MongoDB集群搭建

    本文主要介绍如何搭建一个基本的MongoDB Replica Set(副本集)集群。 #### 二、准备工作 在开始部署MongoDB集群之前,我们需要做一些准备工作: 1. **下载MongoDB安装包**:访问MongoDB官方网站(<https://www....

    详解Java 连接MongoDB集群的几种方式

    Java 连接 MongoDB 集群的多种方式 Java 连接 MongoDB 集群是目前 Java 开发中最常见的操作之一。在本文中,我们将详细介绍 Java 连接 MongoDB 集群的多种方式,包括连接独立的 MongoDB 实例、连接副本集、连接分片...

    mongodb_failover_tests

    快乐路径场景通过指向Dev / PreProd MongoDB Replicaset MONGODB_REPLICASET = P1:27017,S1:27017,S2:27017节点server.js来启动测试服务器现在通过简单地插入和查询文档来测试设置:curl -XPOST'...

Global site tag (gtag.js) - Google Analytics