论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
备份容灾
›
备份
›
【后端口试题】【中心件】【NoSQL】MongoDB的配置服务器 ...
【后端口试题】【中心件】【NoSQL】MongoDB的配置服务器、复制机制、写入语 ...
九天猎人
金牌会员
|
2024-7-23 19:15:06
|
显示全部楼层
|
阅读模式
楼主
主题
818
|
帖子
818
|
积分
2454
MongoDB的配置服务器
引入了分片机制之后,MongoDB启用了
配置服务器
(config server) 来存储元数据,这些元数据包罗
分片信息、权限控制信息
,用来控制分布式锁。其中分片信息还会被负责实行查询mongos使用。
MongoDB的配置服务器有一个很大的优点,就是
主节点崩溃了,它也可以继续提供读服务
。
大多数中心件的主从布局都是在主节点崩溃之后完全不可用,直到推举出了一个新的主节点。
但是不管怎么说,配置服务器在MongoDB里是一个非常关键的组件,如果一旦配置服务器有问题,哪怕只是稍微地性能抖动一下,对整个MongoDB集群的影响都很大。
MongoDB的复制机制(主从机制)
MongoDB的副本也是MongoDB实例,它们和主实例持有一样的数据。在MongoDB里,用Primary来代表主实例,用Secondary来代表副本实例。主从实例合并在一起,也叫做一个复制集(Replica Set)
类似于数据库的读写分离机制,可以在MongoDB上举行读写分离。读从Secondary0实例读,写入Primary实例,同时Secondary0和Secondary1从Primary实例里同步数据
在MongoDB里,主从之间的数据同步是通过所谓的oplog来实现的,类似MySQL的binlog。但是oplog会有一些缺点:
在一些特定的操纵里,oplog大概会超乎想象地大。这主要是由于oplog是幂等的,所以
任何操纵都比要转化为幂等操纵
。简朴来说,任何对MongoDB里数据的操纵,
末了都会被转化成一个set操纵
。所以可以预计的是,就是只更新了数据的一小部门,但是生成的oplpg照旧set整个数据。
oplog是
有期限
的,即MongoDB
限制了oplog的大小
。当oplog占据了太多的磁盘之后,就会被删除。就算某个从节点来不及同步,oplog也是会被删除的。这个时候,这个从节点
只能重新发起一次全量的数据同步
。
写入语义
和Kafka的写入语义非常像,可以通过参数来控制写入数据毕竟写到哪里,写入语义对
性能、可用性和数据可靠性
有明显的影响。
在MongoDB里,写入语义也叫Write Concern,它由w、j和wtimeout三个参数控制。
w参数
它的取值如下:
majority:要求写操纵已经同步给大部门节点,默认取值,可用性强,但是写入性能差
数字N:如果N=1,要求必须写入主节点;如果N大于1,那么就必须写入主节点,而且写入N-1个从节点;如果N=0,那么就不消等任何节点写入。性能很好,但是固然客户端收到了乐成的相应,数据也有大概丢失。
自定义写入节点策略:可以给一些节点打上标签,然后要求写入的时候肯定要写入带有这些标签的节点,实践中用的较少
j参数
控制数据有没有被写到磁盘上,对于j来说它的取值就是true或false
wtimeout参数
写入的超时时间,只会在w>1的时候见效。
在超时之后MongoDB就直接返回一个错误,但是这种环境下,MongoDB大概照旧写入数据乐成了
口试预备
负责的业务或公司有没有使用MongoDB,主要用来做什么
为什么要用MongoDB,用MySQL可以吗
用MongoDB的时候,文档支持分片吗?如果支持的话,按什么来分片的?
业务有多少数据量,并发有多高?
MongoDB怎么摆设的,主从节点有多少?有没有多数据中央的摆设方案?
MongoDB的写入语义,即w和j这两个参数的取值
口试话题引导
Kafka的acks机制,可以引申到MongoDB的写入语义上
其他中心件的对等布局,或主从布局,可以引导到MongoDB的分片和主从机制上
Kafka的元数据,可以联合MongoDB的元数据一起回答
MongoDB数据不丢失的问题,可以联合写入语义来回答,参考Kafka分析的思绪。
在整个MongoDB的口试过程中,注意和不同的中心件举行对比,凸显在这方面的积聚
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
九天猎人
金牌会员
这个人很懒什么都没写!
楼主热帖
从洞察到决策,一文解读标签画像体系建 ...
袋鼠云平台代码规范化编译部署的提效性 ...
微服务(三)之负载均衡(服务端和客户端) ...
Flink的API分层、架构与组件原理、并行 ...
C# 使用流读取大型TXT文本文件 ...
SpringBoot(八) - 统一数据返回,统一 ...
打穿你的内网之三层内网渗透 ...
SQL中的排座位问题
MySQL中USER()和CURRENT_USER()的区别 ...
JVM
标签云
挺好的
服务器
快速回复
返回顶部
返回列表