美文网首页
MongoDB分片群集组件

MongoDB分片群集组件

作者: renmen2000 | 来源:发表于2019-11-05 15:26 被阅读0次

    MongoDB分片群集包含以下组件:

    • 分片:每个分片包含分片数据的子集。从MongoDB 3.6开始,必须将分片部署为副本集

    • mongosmongos充当查询路由器,提供客户端应用程序和分片集群之间的接口。

    • config servers:配置服务器存储群集的元数据和配置设置。从MongoDB 3.4开始,必须将配置服务器部署为副本集(CSRS)。

    生产配置


    在生产群集中,确保数据冗余并确保系统具有高可用性。对于生产分片群集部署,请考虑以下事项:

    • 将Config Server部署为3成员副本集

    • 将每个Shard部署为3成员副本集

    • 部署一个或多个mongos路由器

    碎片数

    分片需要至少两个分片来分配分片数据。如果您计划在不久的将来启用分片,但在部署时不需要,则单个分片分片群集可能很有用

    数量mongos和分布

    部署多个mongos路由器支持高可用性和可伸缩性。常见的模式是mongos在每个应用程序服务器上放置一个。mongos在每个应用服务器上部署一个 路由器可以减少应用程序和路由器之间的网络延迟。

    或者,您可以将mongos路由器放在专用主机上。大型部署受益于此方法,因为它将客户端应用程序服务器的数量与mongos实例数量分离 。这样可以更好地控制mongod实例所服务的连接数。

    mongos在自己的主机上安装实例允许这些实例使用更大量的内存。内存不会与mongod实例共享。可以使用主分片来托管mongos路由器,但要注意内存争用可能会成为大型部署的问题。

    mongos您可以在部署中使用的路由器数量没有限制。但是,由于mongos路由器经常与配置服务器通信,因此在增加路由器数量时会密切监视配置服务器性能。如果您发现性能下降,那么限制mongos部署中的路由器数量可能会有所帮助 。

    m1.PNG

    开发配置


    对于测试和开发,您可以部署具有最少组件数量的分片集群。这些非生产集群具有以下组件:

    https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/

    https://docs.mongodb.com/manual/tutorial/deploy-sharded-cluster-hashed-sharding/

    rs.initiate(
      {
        _id: "sr0",
        configsvr: true,
        members: [
          { _id : 0, host : "127.0.0.1:27020" },
          { _id : 1, host : "127.0.0.1:27021" },
          { _id : 2, host : "127.0.0.1:27022" }
        ]
      }
    )
    

    相关文章

      网友评论

          本文标题:MongoDB分片群集组件

          本文链接:https://www.haomeiwen.com/subject/pvzsbctx.html