今天继续给大家介绍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
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/124812629