Web架构之路:MongoDB集群及高可用实践
副本集包罗三种节点:主节点、从节点、仲裁节点。
官方保举MongoDB副本节点起码为3台, 提议副本集成员为奇数,最多12个副本节点,最多7个节点参加推举。限定副本节点的数目,首要是由于一个集群中过多的副本节点,增进了复制的本钱,反而拖累了集群的整体机能。 太多的副本节点参加推举,也会增进推举的时刻。而官方提议奇数的节点,是为了停止脑裂 的产生。 推举进程 副本集的推举进程大抵如下: 获得每个处事器节点的最后操纵时刻戳。每个 mongodb都有oplog机制会记录本机的操纵,利便和主处事器举办比拟数据是否同步还可以用于错误规复。 假如集群中大部门处事器down机了,保存在世的节点都为secondary状态并遏制,不推举了。 假如集群中推举出来的主节点可能全部从节点最后一次同步时刻看起来很旧了,遏制推举守候人来操纵。 假如上面都没有题目就选择最后操纵时刻戳最新(担保数据是最新的)的处事器节点作为主节点。 MongoDB 同步耽误题目 在MongoDB中,全部写操纵城市发生 oplog,oplog 是每修改一条数据城市天生一条,假如你回收一个批量update呼吁更新了 N 多条数据,那么oplog 会有许多条,而不是一条。以是同步耽误就是写操纵在主节点上执行完后,从节点还没有把 oplog 拿过来再执行一次。而这个写操纵的量越大,主节点与从节点的不同也就越大,同步耽误也就越大了。 分片 当MongoDB存储海量的数据时,一台呆板也许不敷以存储数据,也也许不敷以提供可接管的读写吞吐量。这时我们就可以通过在多台呆板上支解数据,使得数据库体系能存储和处理赏罚更多的数据。 分片集群布局漫衍: ![]() 三个首要组件:
Mongos自己并不耐久化数据,Sharded Cluster全部的元数据城市存储到Config Server,而用户的数据集会会议分手存储到各个shard。Mongos启动后,会从设置处事器加载元数据,开始提供处事,将用户的哀求正确路由到对应的碎片。 Mongos的路由成果:
分片陈设 前提有限,我们照旧在单机上,用差异MongoDB线程来陈设分片。 ![]() 分片处事器 Shard Server和平凡Mongod措施一样,差异的是必要在设置文件中添加shardsvr=true标志为Shard Server,设置参考如下:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |