`
zhaohaolin
  • 浏览: 1011000 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用MongoDB Replica Sets的三种架构

 
阅读更多

MongoDB的replication机制除了最普通的Master/Slave模式之外,更强大的就是其支持自动故障转移的Replica Sets模式了。相对于其问题多多的auto-sharding机制,Replica Sets还是相对比较稳定。

  作为MongoDB使用大户,Foursquare(简称4sq) 在MongoDB使用上有相当丰富的经验,下面是4sq的一篇文章,描述了Replica Sets机制在4sq 中的几种架构方式。

  原文链接:Fun with MongoDB replica sets

  1.在原有的Master/Slave 机制上添加一台arbiter

  4sq 在早期有一些Master/Slave的MongoDB架构,但这种模式不能实现自动的故障转移,需要在发生故障时手动进行切换。在Replica Sets出现后,这种结构被迁移成为三台机器的Replica Sets:一台Primary,一台Secondary,一台Arbiter。

  迁移过程:

  修改Master和slave的配置,添加如下几项,并重启MongoDB。

 

  replSet = auxdb 
  fastsync = true 
  rest = true

 

  fastsync 使得重启动可以使用到原来的数据文件,重启会非常快。然后再在Primary上用rs.add 和 rs.addArb 将Secondary和Arbiter添加上。就算完成了。

  2.一个 Primary用于写,多个Secondary用于读和一个Secondary用于备份

  在写多读少的应用中,4sq主要使用了Replica Sets来实现读写分离。通过在连接时指定slaveOk,将读操作放到Secondary上,Primary只承担写操作。同时指定一台priority为0,hidden为true的Secondary来进行备份(这样设置后此机器在读写中都不可见,并且不会被选举为Primary)

  3.MongoDB经典配置,上层是Auto-Sharding,每个Sharding结点又是一个Replica Sets

  虽然4sq在这上面吃过亏,但很明显他们已经吸取了教训并且在更合理更小心的使用Auto-Sharding这一诱人的功能。

分享到:
评论

相关推荐

    Mongodb的ReplicaSets+Sharding架构(window篇)

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

    mongodb+replica+sets+intro

    ### MongoDB副本集(Replica Sets)入门:配置与管理 #### MongoDB副本集概念与优势 MongoDB副本集是一种数据冗余和高可用性方案,它通过在多个服务器上复制数据库来提供故障转移、负载均衡以及数据恢复能力。副本...

    深入剖析 MongoDB 架构

    MongoDB 采用的是主从复制(Replica Sets)和分片(Sharding)两种方式来实现高可用性和水平扩展。主从复制主要用于数据冗余和故障恢复,而分片则用于在多台服务器之间分配数据,以处理大规模的数据存储和查询需求。...

    5.2 MongoDB的三种集群模式1

    值得注意的是,从MongoDB 4.0.1版本开始,官方不再支持主从模式,推荐使用副本集(Replica Sets)代替,因为副本集提供了自动故障转移和更高级的复制功能。在升级到4.0版本之后,必须采用副本集来构建高可用性的...

    MongoDB数据库:MongoDB与微服务架构集成

    #### 三、MongoDB与微服务架构的集成 **3.1 集成的优势** - **数据模型灵活性**:MongoDB的文档存储模型非常适合微服务架构中不同服务之间数据的多样化需求。 - **易于扩展**:通过分片技术,MongoDB可以轻松地...

    30分钟学MongoDB系列——Mongo分布式架构篇(简介)

    它的ReplicaSets功能可以实现数据集复制,读写分离,故障转移,以及动态地增减节点。通过数据分片(Sharding)功能,MongoDB能够突破单点数据库服务器I/O能力的局限,解决数据库水平扩展的问题。MongoDB还支持...

    Mongodb_集群分片部署

    在集群分片部署中,我们可以根据需要选择不同的架构,如 Master/Slave 模式、Replica Sets 模式等。 在选择架构时,需要考虑到实际情况,如数据的一致性、故障转移、安全性等。mongDB 官方提供了以下意见:如果使用...

    mongoDB集群部署文档借鉴.pdf

    MongoDB 集群部署架构主要包括三种角色:Shard Server、Config Server 和 Route Server。 * Shard Server:负责存储实际的数据块,实际生产环境中一个 Shard Server 角色可以由多台机器组成一个 Replica Set,以...

    Mongodb数据库

    在本例中,我们将建立一个简单的 MongoDB 集群架构,包括三个 Shard Server、三个 Config Server 和三个 Route Server。 1. 分别在 3 台机器运行一个 mongod 实例(称为 mongod shard11,mongod shard12,mongod ...

    MongoDB架构及基本操作说明1

    总之,MongoDB的双服务器架构利用Shards和Replica Sets提供了高可用性和可扩展性。理解并掌握其配置和基本操作对于有效管理和利用MongoDB至关重要,特别是在处理大规模数据和要求高性能的应用场景中。通过熟练运用...

    mongodb.zip

    8. **高可用性**: 副本集(Replica Sets)是MongoDB的一种高可用性机制,它能自动在多个节点之间复制数据,确保数据的冗余和容错。当主节点出现故障时,副本集中的其他节点可以自动接管服务。 9. **安全特性**: ...

    mongodb2.8.0

    4. 弹性副本集(Replica Sets):MongoDB 提供了复制集,用于保持数据的冗余和容错,确保服务的持续可用性。 二、MongoDB 2.8.0 版本的关键更新与改进 1. 查询优化器改进:2.8 版本引入了新的查询优化器,能够更好...

    MongoDB技术架构介绍.pptx

    3. **高可用性**:MongoDB通过复制集(Replica Sets)实现数据冗余和自动故障转移,确保服务的持续可用性。复制集中的每个成员都保存相同的数据,当主节点故障时,副本可以接管。 4. **水平可扩展性**:MongoDB可以...

    MongoDB_Architecture_Guide

    包括但不限于WiredTiger存储引擎提供的特性,以及复制集(replica sets)和分片(sharding)在实现高可用性和故障转移中的角色。 6. MongoDB性能与压缩(Performance & Compression) 文档会涉及如何通过不同的策略...

    mongodb 最佳实践

    MongoDB提供了多种复制机制来实现数据的高可用和容错性,例如副本集(Replica Sets)功能,可以用来提高系统的容错能力。此外,MongoDB还支持自动故障转移,能够在主节点宕机时迅速切换到副本节点,保证服务的连续性...

Global site tag (gtag.js) - Google Analytics