从这一篇开始,我们要踏上MongoDB进阶之路啦,想想还有点小开心呢。一筐猪镇楼。

引入复制集

我们先来想一个场景,如果本地项目使用MongoDB,都是下载,安装,连接一条龙服务。这实际也就是单点模式,那如果我们项目要上线了,这个时候还是一个数据库,就可能出问题。比如我们写了个淘宝(嘘,假装是个大牛),双十一那天晚上,数据库挂了,emmm,这秒秒钟损失多少钱啊,不敢想象,这个时候,可能你就拜拜啦。所以我们要把这种可能性扼杀到摇篮里面,这就有了复制集的用武之地。

了解复制集

复制集也就是多个数据库,一个挂了,其他的还能顶上,而不至于系统挂。具体的逻辑图如下:

复制集里面节点主要包括三类,上面已经知道啦有两种,分别是主节点和从节点,还有一个是投票节点。

他们各自的作用:

主节点:写操作。

从节点:复制主节点的数据,提供读操作。

投票节点:在主节点出现故障的时候,系统会在从节点中自动投票选举新的主节点。这个投票节点就是在这个投票选举情况下使用的。

复制集的特征

1.主节点唯一不固定

我们从上面的图上就可以看出来这个特征,也就是当主节点没有啥问题的时候,从节点不会成为主节点,且也不会有新的主节点,这说明了唯一性。当主节点出现问题了,从节点钟的一个会成为主节点,这说明了不固定性。

2.大多数原则

当前复制集中,存货节点的数量必须大于节点总数的1/2,这样才能触发选举。这是为什么,等我学习了再说,先放着哈。

3.从库无法写入

这边从节点是不能写入的,MongoDB有严格的控制。

认识MongoDB复制集的更多相关文章

  1. MongoDB 复制集 (一) 成员介绍

       一 MongoDB 复制集简介          MongoDB的复制机制主要分为两种:          Master-Slave    (主从复制)      这个已经不建议使用       ...

  2. mongodb 复制集

    mongodb 复制集 复制集简介 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写 ...

  3. Raft与MongoDB复制集协议比较

    在一文搞懂raft算法一文中,从raft论文出发,详细介绍了raft的工作流程以及对特殊情况的处理.但算法.协议这种偏抽象的东西,仅仅看论文还是比较难以掌握的,需要看看在工业界的具体实现.本文关注Mo ...

  4. MongoDB复制集

    1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合.复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础. 1.1.1 复制集的目的 ...

  5. MongoDB复制集原理、环境配置及基本测试详解

    一.MongoDB复制集概述 MongoDB复制集实现了冗余备份和故障转移两大功能,这样能保证数据库的高可用性.在生产环境,复制集至少包括三个节点,其中一个必须为主节点,一个从节点,一个仲裁节点.其中 ...

  6. MongoDB复制集技术

    复制集搭建 没毛病: https://www.cnblogs.com/nicolegxt/p/6841442.html?utm_source=itdadao&utm_medium=referr ...

  7. mongodb复制集Replica Set使用简介

    MongoDB高可用 对于MongoDB,可以支持使用单机模式提供服务,但是在实际的生产环境中,单机模式将面临很大的风险,一旦这个数据库服务出现问题,就会导致线上的服务出现错误甚至崩溃.因此,在实际生 ...

  8. MongoDB复制集的工作原理介绍(二)

    复制集工作原理 1)数据复制原理 开启复制集后,主节点会在 local 库下生成一个集合叫 oplog.rs,这是一个有限集合,也就是大小是固定的.其中记录的是整个mongod实例一段时间内数据库的所 ...

  9. MongoDB复制集成员及状态转换

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 复制集(Replica Set)是MongoDB核心组件,相比早期版本采用的主从(Master-Slave) ...

  10. 部署MongoDB复制集(副本集)

    环境 操作系统:Ubuntu 18.04 MongoDB: 4.0.3 服务器 首先部署3台服务器,1台主节点 + 2台从节点 3台服务器的内容ip分别是: 10.140.0.5 (主节点) 10.1 ...

随机推荐

  1. 持续集成高级篇之Jenkins cli与Jenkins ssh

    系列目录 Jenkins Cli介绍 Jenkins Cli为Jenkins提供的一个cli工具,此工具功能非常强大,可以完成诸如重启jenkins,创建/删除job,查看job控制台输出,添加/删除 ...

  2. 不修改的主席(HJT)树-HDU2665,POJ-2104;

    参考:优秀的B站视频:   和 https://blog.csdn.net/creatorx/article/details/75446472 感觉主席树这个思路是真的优秀,每次在前一次的线段树的基础 ...

  3. yzoj P2045 不老的传说 题解

    题意 类似于涂色问题,环形问题不多说,断环加倍即可,限制条件if判断就行. 解析 代码 #include<bits/stdc++.h> using namespace std; int n ...

  4. 谁动了我的奶酪?--java实例初始化的顺序问题

    故事背景 有一天,老鼠小白发现了一个奇怪的问题,它的奶酪的生产日期被谁搞丢了,不知道奶酪是否过期,可怎么吃呀? 让我们来看看吧 import java.util.Date;public class C ...

  5. MVC设计模式用于用户注册表单提交到数据库的中文乱码问题

    本文引用自:http://blog.csdn.net/wangchangshuai0010/article/details/12714575 java.sql.SQLException: Incorr ...

  6. HTTPS加密协议

    使用JDK自带的keytool工具生成一个证书(keystore文件),其中包含了密钥. a.在命令行输入以下命令:keytool -genkey -alias tbb -keyalg RSA -ke ...

  7. vue2.0 创建项目

    准备 安装淘宝 npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 添加系统变量path的内容 因为cnpm会被安 ...

  8. (1)jsoncpp库的使用

        本节主要介绍 json是什么以及jsoncpp库的使用. (1)JSON是什么 json 是一种轻量级的文本数据交换格式: json 独立于语言.平台,使用java script语法来描述对象 ...

  9. 史上最详 Thymeleaf 使用教程

    前言 操作前建议先参考我的另一篇博客:玩转 SpringBoot 2 快速整合 | Thymeleaf 篇 查看如何在SpringBoot 中使用 Thymeleaf.还有一点需要注意的是:模版页面中 ...

  10. 操作系统原理之I/O设备管理(第六章上半部分下)

    五.I/O软件原理 输入输出软件的总体目标是将软件组织成一种层次结构 低层软件用来屏蔽硬件的具体细节 高层软件则主要是为用户提供一个简洁.规范的界面 设备管理的4个层次: 用户层软件 ->向系统 ...