当前位置: 首页 > 后端技术 > Java

MongoDB集群部署原理图(三)

时间:2023-04-01 15:40:25 Java

MongoDB集群部署方案有三类角色:实际数据存储节点、配置文件存储节点和路由访问节点。连接的客户端直接连接路由节点,从配置节点查询数据,根据查询结果在实际存储节点上查询和存储数据。MongoDB的部署方案包括单机部署、副本集(主备)部署、分片部署、副本集和分片混合部署。混合部署方式如图:混合部署模式下向MongoDB写入数据的过程如图:混合部署模式下MongoDB中读取数据的过程如图:对于副本集,有master和slave两种角色,写数据和读数据也是有区别的。写数据的过程只写到主节点,主节点以异步的方式同步到从节点:而读数据只需要从任意一个节点读取,具体在哪个节点读取可以指定:对于MongoDB分片,假设我们使用一个索引键(ID)作为分片键,ID范围为[0,50],将其分成5个chunk,分别存储在3个分片服务器中,如图:如果数据量大,需要增加分片服务器时,只需移动分片即可,均匀分布数据。配置节点:存放配置文件的服务器,实际存放的是slicekey和chunk以及chunk和server的映射关系。以上数据表示的配置节点存储的数据模型如下:Map1Keyrangechunk[0,10)chunk1[10,20)chunk2[20,30)chunk3[30,40)chunk4[40,50)chunk5Map2chunkshardchunk1shard1chunk2shard1chunk3shard2chunk4shard2chunk5shard3Routingnode:路由角色的节点,在分片的情况下起到负载均衡的作用。关注微信公众号“汤姆炸弹架构”,回复“MongoDB”获取配套资料。本文为《汤姆炸弹建筑》原创,转载请注明出处。科技在于分享,我分享我的快乐!如果大家有什么建议,也可以留言或者私信。您的支持是我坚持创作的动力。关注微信公众号“汤姆炸弹架构”,获取更多技术干货!原创不易,坚持很酷,看到这里了,小伙伴们记得点赞、收藏、观看、加关注哦!如果觉得内容太干,可以分享转发给身边的朋友一起滋润哦!