zoukankan      html  css  js  c++  java
  • Mongodb 分片原理

    1.主从mongodb 模式 类似,MySQL的主从配置  参照:https://blog.csdn.net/liusong0605/article/details/11551699

    mongoDB有一个主要特性就是复制,有多种复制形式,其中,主从复制是比较常用的一种。

          主从复制的工作原理:首先要有两个或更多的服务器,其中一个是主节点,负责处理客户端的请求,其他的都是从节点,负责映射主节点的数据。主节点记录在其上执行的所有操作,从节点定期轮询主节点获得的这些操作,然后执行这些操作。由于从节点和主节点执行了相同的操作,从节点就能保持与主节点的数据同步。

          简单概括就是:主节点完成数据写入操作,从节点完成数据复制、为读取提供数据。这样实现的好处:1.实现读写分离、降低了主节点的压力。2.做了数据备份,增强了安全性。 还有一个缺点:主节点宕机,系统不可用。

          搭建mongodb主从复制比较简单:

          主节点:bin>mongod --dbpath=主节点的数据库路径  --port=27017 --master

          从节点:bin>mongod --dbpath=从节点的数据库路径  --port=27007 --slave --source=主节点ip:主节点端口号

          主节点的数据库安装在mongodbdb中:

    2. 自动分片模式 :https://blog.csdn.net/liusong0605/article/details/11556311

    分片,是指将数据拆分,将其分散到不同的机器上。这样的好处就是,不需要功能强大的大型计算机也可以存储更多的数据,处理更大的负载。
          mongoDB的分片,是将collection的数据进行分割,然后将不同的部分分别存储到不同的机器上。当collection所占空间过大时,我们需要增加一台新的机器,分片会自动将collection的数据分发到新的机器上。
         

          mongoDB分片的原理:

          

           mongos:客户端只需要对mongos进行操作就行了,至于如何进行分片,不需要客户端参与,由mongos和config来完成。

           mongod:一个普通的数据库实例,如果不分片的话,我们直接连接的就是mongod。

        

            实例演示:

           首先准备四个mongodb服务器,F:mongos     F:mongodb1    F:mongodb2   F:mongodbConfig

  • 相关阅读:
    Elasticsearch集群优化实战
    Elasticsearch跨集群搜索(Cross Cluster Search)
    Elasticsearch集群运维
    Elasticsearch冷热集群搭建
    分布式系统事务一致性
    使用Vertx重构系统小结
    ThreadLocal原理分析与使用场景
    使用Vertx构建微服务
    使用 Python & Flask 实现 RESTful Web API
    Golang简单工厂方法demo
  • 原文地址:https://www.cnblogs.com/z-test/p/9430532.html
Copyright © 2011-2022 走看看