前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >(2)MongoDB副本集自动故障转移原理(含客户端)

(2)MongoDB副本集自动故障转移原理(含客户端)

作者头像
有态度的马甲
发布于 2020-04-15 08:14:21
发布于 2020-04-15 08:14:21
2K00
代码可运行
举报
文章被收录于专栏:精益码农精益码农
运行总次数:0
代码可运行

前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节。

默认搭建的副本集均在主节点读写,辅助节点冗余部署,形成高可用和备份,具备自动故障转移能力。

集群心跳保活

集群每个节点以周期性向其他成员发出心跳命令 replSetHeartbeat 来获取状态,

根据应答消息来更新节点的状态,根据最终状态确定是否重选主节点。

默认心跳周期 heartbeatIntervalMillis= 2000ms; 认定Primary节点失联的阈值 electionTimeoutMillis=10s

异步复制

辅助节点复制主节点的oplog,并将改变应用到数据集,从而保持与主节点数据同步

这里有三个知识点:

  • oplog是一个特殊的封顶集合capped collection, 主节点上的operation log会记录在主节点的oplog中,辅助节点异步拷贝这些操作,这样所有的节点的都包含operatin log的一个副本:local.oplog.rs集合
  • 每次异步复制触发的时机是在心跳保活阶段,所有的辅助节点都会在ping阶段从其他成员插入oplog文档。
  • oplog中的每个操作都是冥等的:无论是一次还是多次应用到目标数据集,oplog操作会产生相同的结果

删除和插入操作

若多次应用删除操作,后续删除操作无效果;

若多次应用插入操作,因为每次操作均包含包含_id值,因此它也不会插入文档的第二个副本(因为_id必须是唯一的)。

当有新节点加入集群,该节点会启动另一种同步复制:initial sync, 将所有数据从某副本集成员完全拷贝, 复制完成,会过渡为辅助节点。

选举主节点

集群会因为各种事件触发选举主节点

  • 在集群中添加新节点
  • 初始化replica set集群
  • 执行人工运维命令(rs.stepDown() rs.reconfig())维护集群
  • 辅助节点与主节点失联时间超过默认10s

自动故障转移说的是最后一种情况:

默认情况下,辅助节点A与主节点心跳失联超过10s,A节点标记主节点不可用;

之后与其他辅助节点心跳保活,沟通各自信息(节点的票数、节点优先级、PingMs等因素)确立出新主节点。

在发生故障转移时,集群不能再执行写入操作;若客户端配置在辅助节点读取(read preference),则集群可继续提供读取能力。

你的应用程序可用重试逻辑应对自动故障转移和后续的重选。

从MongoDB3.6版本开始,MongoDB Driver可侦测主节点的失联,并执行一次重试操作。

tip

适配MongoDB4.2的Driver默认会重试写入操作;

适配Mongodb4.0-3.6的Driver需显式在连接字符串包含retryWrites = true,以确保主节点失联时能重试写入操作。

连接副本集的配置字符串,其中rs0是集群配置文件中 replSetName。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mongodb://account:passward@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017?replicaSet=rs0

OK, 以上便是MongoDB副本集心跳保活、异步复制、自动故障转移的背景知识。

留一个作业?

客户端连接MongoDB副本集的连接字符串,是一个很普通的IP数组,并未体现主副节点,客户端是怎么区分主副节点,并向主节点发出写入指令;更何况副本集主副节点会变化,客户端如何感知?

点击下方空白区域查看答案

「Client Monitoring」


所有符合MongoDB官方规范的Driver都会实现Service Discovery和Monitoring,连接副本集的字符串IP实际是种子成员,Driver会准实时发起指令检测集群状态(heartbeatFrequencyMS约定了Driver的检查间隔),

这与我们在辅助节点观察到的日志是相呼应的:

+ https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#heartbeatfrequencyms

+ https://docs.mongodb.com/manual/reference/connection-string/#urioption.heartbeatFrequencyMS

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 精益码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
给孩子们的AI科普课(速收藏)
对他们来说,AI不是新鲜事。但同时,AI也是新鲜事——大模型为何能进行对话?AI写诗能写到什么份上?AI能从游戏迁移到真实?
小腾资讯君
2023/08/21
7750
重磅 |《中国文化遗产数字化研究报告2023-2024》探元计划年度研究成果发布
近年来随着国家不断出台文化遗产保护传承的制度保障和政策支持,有效激发文化数字化的内生动力,在中华优秀传统文化数字化这条道路上,汇聚越来越多的文化单位、科技企业,一同搭建互通桥梁、营造社会氛围、讲述文明故事、阐释文化新知,贡献了无数中国数字文化的“高光时刻”。尤其近年来随着新一代信息技术的迅猛发展,科技助力文化传承呈现新的态势和机遇,需要社会各界主体共建共享、形成多元协作的文化保护传承新格局。在此背景下,腾讯联合社会各方发起文化科技创新资助计划“探元计划”,深耕科技助力传统文化数字焕活的创新范式。
小腾资讯君
2024/12/11
1.5K0
我们打算用宇宙射线,给石窟佛像照「CT」
云冈石窟是中国规模最大的古代石窟群之一,是世界文化遗产之一。有 45 个主要洞窟,和51000 多尊大小造像,对研究中国古代艺术、历史和佛教文化有重要价值。
小腾资讯君
2023/12/04
2260
数字文旅周报96期 | 马化腾:科技向善,就是要用科技能力更好地去关心人
01 科技热点 马化腾:科技向善,就是要用科技能力更好地去关心人 2019年11月11日,腾讯将「用户为本、科技向善」正式作为公司的使命愿景。至今,超过1000天。 标题中的这句话,来自腾讯第一本社会价值年刊——《关心》。 在近两年的社会价值探索的过程中,我们逐渐发现,社会价值创造的情感内核就是“关心人”。这是腾讯的底色,也是社会价值的追求,本质上都是“关心人”。为此,我们尝试将这些经历和理念记录下来,和更多人交流、分享。 在这本书中,Pony分享了自己的想法。过去,他提出“CBS三位一体”,强调服务用户、
腾讯文旅
2023/02/16
3320
数字文旅周报96期 | 马化腾:科技向善,就是要用科技能力更好地去关心人
数字周报87期 |​腾讯文旅发布六大维度升级;腾讯首次公布智慧农业战略
行业动态 腾讯文旅发布六大维度升级,全面助力行业迈向数实融合新阶段 11月30日,2022腾讯全球数字生态大会智慧文旅专场在线上圆满举行。此次专场上,腾讯文旅发布了六大维度的全面升级,涵盖技术、行业、场景、产业、服务、生态方向上的深化成果,以及文旅四大赛道的丰富实践和前沿解决方案。同时面向行业新要求新变化新趋势,推出了更加开放的生态圈和更具价值的“朋友圈共创计划”,通过提供一站式综合化的数字文旅服务体系,助力产业开新局,迈向数实融合新阶段。(相关链接:一图读懂 | 2022腾讯全球数字生态大会智慧文旅专场
腾讯文旅
2022/12/06
5090
数字周报87期 |​腾讯文旅发布六大维度升级;腾讯首次公布智慧农业战略
《庆余年》:如何当好一个合格的穿越者
“君不见,黄河之水天上来,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪。”
庞九公子
2020/01/21
1.3K1
《庆余年》:如何当好一个合格的穿越者
用文本挖掘剖析近5万首《全唐诗》-- 一文学会NLP数种基础任务
原文链接:https://zhuanlan.zhihu.com/p/52155493
zenRRan
2019/11/20
3.1K0
用文本挖掘剖析近5万首《全唐诗》-- 一文学会NLP数种基础任务
腾讯多媒体沉浸式互动水墨画技术,为世博会中国馆数字文化体验添彩
欢 度 国 庆 - National Day -  NATIONAL DAY  前言 首届在中东地区举办的世界博览会——2020年迪拜世博会,在延迟一年之后即将迎来盛大启幕,将于2021年10月1日至2022年3月31日举行。目前共有中国在内等192个国家确认参展,预计将吸引2500万观众参观。命名为“华夏之光”的中国馆是本届世博会面积最大的展馆之一,以“构建人类命运共同体-创新和机遇”为主题,以“一带一路”倡议为统领,旨在宣扬中华优秀传统文化、反映全人类普遍愿望和共同心声、彰显中国智慧魅力,全面展示科技
腾讯多媒体实验室
2021/10/08
1.8K0
腾讯携手龙门石窟推出智慧导览小程序 打造智慧互动观览体验
12月19日,由腾讯与洛阳龙门石窟世界文化遗产园区(以下简称龙门石窟)共同举办的“智游龙门石窟”产品发布会在洛阳举行。 河南省旅游局信息中心副主任谢坚 、洛阳龙门石窟管委会主任李金乐、腾讯文旅总经理张渝、腾讯地图行业创新中心总经理王锐、腾讯大豫网总裁曹帆出席发布会。 在数字化背景下,腾讯将用智慧化的文旅解决方案与龙门石窟进行深度合作,用数字化手段提升龙门石窟在全国的影响力。 本次发布会以“诗史容融 智游龙门”为主题,龙门石窟持续用互联网技术打造多样化的文化服务与游览体验,让公众从全新角度感受这一世界文
腾讯文旅
2020/06/17
1K0
当敦煌邂逅腾讯:用数字化手段传递文化之美
这几天,正在甘肃省考察调研的习近平总书记,先后走访全国重点文物保护单位敦煌莫高窟、敦煌研究院和嘉峪关。随后,习总书记沿河西走廊自西向东,先后到访酒泉、张掖、武威、兰州。 习近平总书记甘肃之行8月21日考察路线 习总书记在敦煌考察时特别强调,对优秀传统文化的传承弘扬要给予支持和扶持,保护好我们的国粹。敦煌文化展示了中华民族的文化自信,只有充满自信的文明才能在保持自己特色的同时包容、借鉴、吸收各种文明的优秀成果。 作为国家“一带一路”战略的重点省份,甘肃省一直因其悠久的历史、厚重的文化而备受关注,而总
腾讯文旅
2020/06/17
8440
“益企同行——腾讯云中小企业数字化升级中国行”文旅专场走进西安
2022年9月23日,由腾讯云携手西安易网共同举办的“益企同行——腾讯云中小企业数字化升级中国行”文旅专场活动走进千年古都西安,为西北地区文旅行业同仁共享腾讯云在数字文旅的方面的先进技术与服务,赢得了与会企业的广泛好评。 图1 “益企同行——腾讯云中小企业数字化升级中国行”西安站活动现场 近三年来,文旅行业是遭受疫情影响最大的行业之一。疫情给文旅行业发展带来挑战的同时也带来了新的机遇,“一切皆文旅”的发展理念逐渐深入产业,并开始赋能其他产业,实现产业协同与共赢。今年初,国务院印发十四五旅游业发展规划,实施
腾讯文旅
2022/09/28
1.4K0
“益企同行——腾讯云中小企业数字化升级中国行”文旅专场走进西安
腾讯IP+文旅的探索实践
抗击疫情,腾讯云在行动。结合数字经济、产业互联网等时代背景,通过系统性介绍腾讯“一机游”模式的前世今生,剖析科技如何与文旅进行融合创新,助力文旅产业转型升级。
可可爱爱没有脑袋
2020/03/10
1.3K0
腾讯IP+文旅的探索实践
响铃:当AI翻译能识别“语境”,我们的“地球村”梦想就不远了
当时人类联合起来兴建希望能通往天堂的高塔,为了阻止人类的计划,上帝让人类说不同语言,使人类相互之间不能沟通,计划因此失败,人类自此各散东西。
曾响铃
2018/08/21
6950
响铃:当AI翻译能识别“语境”,我们的“地球村”梦想就不远了
数字文旅周报92期 | 2023腾讯科技向善创新周T-WEEK开启
01 科技热点 2023腾讯科技向善创新周T-WEEK开启 1月9日,腾讯科技向善创新周T-WEEK 2023开启。据悉,今年的科技向善创新周在线上进行,主题为“生成”。在为期4天的活动中,每一天将有不同的主题演讲、专题论坛,众多知名专家学者、行业资深人士将作为嘉宾参与。  当日,腾讯集团高级副总裁郭凯天在开场致辞中表示,科技向善应该是一家企业内在的人设驱动力,企业必须处理好自身和国家、用户和社会等方方面面的关系,应符合国家发展的方向,符合用户的期望和要求,符合社会不断进步的物质和文化生活需要。  “文博
腾讯文旅
2023/01/10
6150
数字文旅周报92期 | 2023腾讯科技向善创新周T-WEEK开启
仪式感拉满!腾讯云助力北京台打造AI诗会迎国庆
国庆佳节,因其独特的情感属性和丰富的文化内涵,成为了品牌与用户对话的黄金时段。然而,当节点赛道愈发拥挤,各大品牌纷纷抢占这一传播高地时,如何以更加精准而高效的方式触达并打动每一位用户的心便成为了关键命题。基于此,AIGC技术的创新应用为品牌传播提供了新的思路。
腾讯云AI
2024/10/18
2020
仪式感拉满!腾讯云助力北京台打造AI诗会迎国庆
腾讯IP+文旅的探索实践 | 云端大讲堂
由腾讯文旅策划的云端大讲堂于2月26日-28日开讲,受到文旅行业从业人员的欢迎和高度评价。其旨在聚焦文旅产业互联网发展,打造新文旅时代精品云端课堂。产业前沿趋势,科技创新应用,数字解决方案,腾讯实战案例等在腾讯文旅云端大讲堂一一呈现,让思想和智慧照亮诗和远方。 腾讯文旅云端大讲堂第一期系列直播课程,为文旅行业从业者提供了战“疫”之策,分享科技如何助力产业复苏,腾讯全域智慧文旅的创新实践,腾讯新文创战略与文旅IP融合发展,前沿趋势,经典案例等,助力行业产业复苏和高质量发展。 颜亮 腾讯互娱高级公关经
腾讯文旅
2020/06/17
7210
数字文旅周报67期 | “探元计划”2022——探索文化遗产数字活化新纪元创新案例征集正式启动
1、“探元计划”2022——探索文化遗产数字活化新纪元创新案例征集正式启动 为探寻文化遗产数字活化的可持续发展路径,由中国文物保护技术协会指导,腾讯数字文化实验室、腾讯研究院、中国人民大学创意产业技术研究院联合发起,青腾作为特邀共创伙伴的“探元计划”2022——探索文化遗产数字活化新纪元将围绕“前沿科技+文化遗产”领域重大共性关键技术与核心议题方向,面向全社会征集、遴选具有行业前瞻性与社会价值的创新案例、应用场景与解决方案,寻求实现可持续社会价值的共识,共享腾讯优势技术、资源,推动产业共创全真互联的文化遗产
腾讯文旅
2022/05/25
7800
数字文旅周报67期 | “探元计划”2022——探索文化遗产数字活化新纪元创新案例征集正式启动
为游客打造数字化移动应用 腾讯云与北京环球度假区签订协议 ​| 数字文旅周报45期
腾讯云与北京环球度假区签订协议 为游客打造数字化移动应用 腾讯云与北京环球度假区签订框架服务协议,双方计划在微信小程序、自有APP开发等方面探索合作,以期为北京环球度假区的游客打造“智慧导游”工具,加强游客在北京环球度假区内的个性化游览体验。 据了解,借助腾讯云在AI、大数据、安全等领域的核心技术,北京环球度假区将在游客游前、游中、游后的多个环节,通过移动应用程序满足和提升游客体验,为游客提供便捷、高效的游园工具。(腾讯科技) 国内首条5G全线覆盖高铁投入春运 今年拥有5G信号覆盖的广深港高
腾讯文旅
2020/06/17
6320
腾讯将与南京市建邺区共同打造智慧产业孵化平台 | 数字文旅周报06期(1.30-2.17)
腾讯将与南京市建邺区 共同打造智慧产业孵化平台 1月30日,南京市建邺区与腾讯公司在深圳签署战略合作协议,腾讯云启基地落户江心洲。 双方将以人工智能、大数据、云计算、区块链、物联网等现代信息技术为支撑,在智慧政务、智慧民生、智慧产业等方面展开深度合作。 合作内容覆盖腾讯云启基地和智慧城市示范区、人工智能公共服务平台等领域,双方将共同打造智慧产业的孵化平台。(新华日报) 腾讯与法国国家博物馆联合会达成战略合作 以新文创之力 感受中国国宝之美 法国当地时间1月30日,腾讯与法国国家博物馆联合会在巴
腾讯文旅
2020/06/17
1.1K0
AI大模型,与传统文化到底有什么关系?| 探元计划2023
6月21日,在联合国教科文组织驻华代表处、中国文物信息咨询中心(国家文物局数据中心)、中国文化遗产研究院的指导下,腾讯SSV数字文化实验室与腾讯研究院联合发起“探元计划2023”。
腾讯研究院
2023/11/16
8450
推荐阅读
给孩子们的AI科普课(速收藏)
7750
重磅 |《中国文化遗产数字化研究报告2023-2024》探元计划年度研究成果发布
1.5K0
我们打算用宇宙射线,给石窟佛像照「CT」
2260
数字文旅周报96期 | 马化腾:科技向善,就是要用科技能力更好地去关心人
3320
数字周报87期 |​腾讯文旅发布六大维度升级;腾讯首次公布智慧农业战略
5090
《庆余年》:如何当好一个合格的穿越者
1.3K1
用文本挖掘剖析近5万首《全唐诗》-- 一文学会NLP数种基础任务
3.1K0
腾讯多媒体沉浸式互动水墨画技术,为世博会中国馆数字文化体验添彩
1.8K0
腾讯携手龙门石窟推出智慧导览小程序 打造智慧互动观览体验
1K0
当敦煌邂逅腾讯:用数字化手段传递文化之美
8440
“益企同行——腾讯云中小企业数字化升级中国行”文旅专场走进西安
1.4K0
腾讯IP+文旅的探索实践
1.3K0
响铃:当AI翻译能识别“语境”,我们的“地球村”梦想就不远了
6950
数字文旅周报92期 | 2023腾讯科技向善创新周T-WEEK开启
6150
仪式感拉满!腾讯云助力北京台打造AI诗会迎国庆
2020
腾讯IP+文旅的探索实践 | 云端大讲堂
7210
数字文旅周报67期 | “探元计划”2022——探索文化遗产数字活化新纪元创新案例征集正式启动
7800
为游客打造数字化移动应用 腾讯云与北京环球度假区签订协议 ​| 数字文旅周报45期
6320
腾讯将与南京市建邺区共同打造智慧产业孵化平台 | 数字文旅周报06期(1.30-2.17)
1.1K0
AI大模型,与传统文化到底有什么关系?| 探元计划2023
8450
相关推荐
给孩子们的AI科普课(速收藏)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验