分片集群组件

news/2024/11/15 6:07:35/文章来源:https://www.cnblogs.com/wonchaofan/p/18203175

MongoDB分片集群由以下组件组成:

  • shard:每个分片包含分片数据的子集。每个分片必须部署为副本集

  • mongos:mongos充当查询路由器,提供客户端应用程序和分片集群之间的接口。mongos可以支持 对冲读取以最小化延迟。

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

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

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

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

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

如果可能,请考虑将每个副本集的一个成员部署在适合作为灾难恢复位置的站点中。

mongos路由器经常与您的配置服务器通信。随着路由器数量的增加,性能可能会下降。如果性能下降,请减少路由器的数量。您的部署不应超过 30 个mongos路由器。

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

 

仅将测试集群架构用于测试和开发。

分片shard

分片包含分片集群的分片数据的子集。集群的分片共同保存集群的整个数据集。

分片必须部署为副本集以提供冗余和高可用性。

primary shard

分片集群中的每个数据库都有一个主分片,用于保存该数据库的所有未分片集合。每个数据库都有自己的主分片。主分片与副本集中的主分片没有关系

Use the sh.status() method in mongosh to see an overview of the cluster. 

配置服务器

配置服务器存储分片集群的元数据。元数据反映了分片集群内所有数据和组件的状态和组织。元数据包括每个分片上的块列表以及定义块的范围。

实例mongos缓存此数据并使用它来将读写操作路由到正确的分片。mongos 当集群的元数据发生更改时更新缓存,例如添加分片。分片还从配置服务器读取块元数据。

每个分片集群必须有自己的配置服务器。不要对不同的分片集群使用相同的配置服务器。

数据库admin配置数据库存在于配置服务器上。

如果配置服务器副本集丢失其主副本并且无法选择主副本,则集群的元数据将变为只读。您仍然可以从分片读取和写入数据,但在副本集可以选择主分片之前,不会发生块迁移或块分割。

在分片集群中,mongod实例mongos监控分片集群中的副本集(例如分片副本集、配置服务器副本集)。

如果所有配置服务器都不可用,则集群可能无法运行。为了确保配置服务器保持可用且完好无损,配置服务器的备份至关重要。与集群中存储的数据相比,配置服务器上的数据较小,并且配置服务器的活动负载相对较低。

mongos路由

从应用程序的角度来看,提供了分片集群的唯一接口。应用程序从不直接与分片连接或通信。

实例通过以下方式将查询路由到mongos集群

  1. 确定必须接收查询的分片列表。

  2. 在所有目标分片上建立游标。

然后mongos合并来自每个目标分片的数据并返回结果文档。在 mongos检索结果之前,会在每个分片上执行某些查询修饰符(例如排序) 。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/709819.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Windows远程桌面连接Windows时“终端服务器超出了最大允许连接数”

解决Windows远程桌面连接Windows时“终端服务器超出了最大允许连接数”1. 问题分析 在Windows Server中,远程桌面服务的默认连接数限制为2个。当用户通过远程桌面登录并直接关闭窗口时,实际上连接并未被释放,而是保持在服务器端,导致连接数累积。当连接数达到最大值时,用户…

06--加密逻辑

各种加密逻辑 在进行js逆向的时候,总会遇见一些人类无法直接能理解的东西出现。此时你看到的大多数,是被加密过的密文。 一. 一切从MD5开始 MD5是一个非常常见的摘要(hash)逻辑。其特点就是小巧、速度快、极难被破解(王小云女士) 所以md5,依然是国内非常多的互联网公司,选择…

05--抓包工具、PyExecjs模块

抓包工具、PyExeJs模块 在处理一些网站的时候,会遇到一些屏蔽F12,以及只要按出浏览器的开发者工具,就会关闭甚至死机的现象 在遇到这类网站的时候,可以使用抓包工具,把页面上屏蔽开发者工具的代码给干掉 一. Fiddler和Charles 这两款工具是非常优秀的抓包工具。它们可以监…

5.21

ppt:1 代码:0 一个数据分析的ppt看一下吧:

西安游记 6.16 12.26 5.18

西安游记(三合一版) 前言 一年里到西安去了三次,没想到能和西安这么有缘分。 初遇 第一次去西安是刚刚高考完不久,之前没有怎么出去玩过,更别提没有家长的陪同去一个陌生的城市去旅游了。但其实在高考前就一直有一个愿望,就是可以和同学一起去一个其他的城市逛一逛,当时…

会计科目大白话解释

配合图片,更好理解~

深度学习-语音识别-音频处理--77

目录1. 概述2. 采样率3. 振幅数值的量化-分贝db4. 预处理--预加重5. 分帧6. 加窗7. 离散快速傅里叶变换8. 梅尔滤波器组9 倒谱分析10, 离散余弦变换11 MFCC12 倒谱均值减 1. 概述 语音产业的上一次爆发出现在20世纪80年代到90年代:隐马尔科夫模型的应用,使大规模连续语音识别…

智能指针用法学习

转自:https://blog.csdn.net/cpp_learner/article/details/118912592,chatgpt 1.介绍 智能指针就是帮管理动态分配的内存的,它会帮助我们自动释放new出来的内存,从而避免内存泄漏!使用智能指针可以自动调用对象的析构函数。例子:class Test { public:Test() { cout <&…

智能电网系统:构建未来能源的新篇章

随着科技的不断进步和全球能源需求的日益增长,智能电网系统已成为现代社会不可或缺的基础设施。它不仅能够提高能源利用效率,降低能源浪费,还能有效应对能源短缺和环境污染等问题。本文将围绕智能电网系统在能源管理、电力分配优化、需求响应以及分布式能源资源集成等方面的…

.Net6 web API (Log日志 数据表)

前沿 数据库连接 先下载 sql-server 这个数据库 下面这个是地址 https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads?SilentAuth=1&f=255&MSPPError=-2147217396&rtc=1然后下载安装 新建个查询 按钮输入 --基本表的创建 create table 学生 (学号 …

R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)|附代码数据

原文链接:http://tecdat.cn/?p=23800 最近我们被客户要求撰写关于空气污染数据的研究报告,包括一些图形和统计输出。 由于空气污染对公众健康的不利影响,人们一直非常关注。世界各国的环境部门都通过各种方法(例如地面观测网络)来监测和评估空气污染问题 介绍 全球的地面…

C++——类

C++学习 类 一、定义 class 类名 {public: //外界可以直接访问或者调用private: //不能被外部所访问或调用, 只能被本类内部访问 };二、类的成员函数类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。类成员函数是类的一个成员,它可以操作…