今天继续给大家介绍Linux运维相关知识,本文主要内容是MongoDB集群。
一、MongoDB集群组成
MongoDB集群,由以下三种服务组成。
(一)路由服务
MongoDB的路由服务示意图如下所示:

在上图中,mongos等同于一个请求分发中心,是数据库集群请求的入口,所有的数据访问请求都需要经过mongos进行协调。mongos会将所有对路由器的访问请求发送到shard服务器上的mongod来进行处理。
(二)分片服务
MongoDB的分片服务架构图如下所示:

从上图可以看出,分片服务是将一个副本集数据分别存储在不同的shard节点上,这样做的好处有:
1、实现负载均衡
2、提高访问效率
3、增强扩展性
(三)配置服务
MongoDB的配置服务如下所示:

在上图可以看出,MongoDB有专门的配置节点来存储数据库元信息(包括路由、分片等),而mongos本身只是将这些信息缓存在内存中。因此,在MongoDB启动后,mongos需要到配置服务器中读取这些信息。
注意,配置服务器在MongoDB集群中起到非常重要的作用,如果配置服务器出现故障,可能会导致元数据丢失,因此通常我们会部署多台配置服务器。
二、MongoDB集群架构
总的来看,MongoDB的集群架构如下所示:

但是,对于客户端而言,其并不了解集群内部的信息,他只需要知道mongos服务器的IP和链接方式,mongos会自动为其响应,并把其请求分发至相应的设备上去处理。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
本文介绍了MongoDB的集群架构,包括路由服务(mongos)、分片服务和配置服务。mongos作为请求分发中心,分片服务实现数据负载均衡和访问效率提升,配置服务存储数据库元信息。集群中,配置服务器的重要性不言而喻,通常会部署多台以确保高可用性。客户端只需连接mongos即可进行操作。
710

被折叠的 条评论
为什么被折叠?



