博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写给MongoDB开发者的50条建议Tip20
阅读量:6835 次
发布时间:2019-06-26

本文共 796 字,大约阅读时间需要 2 分钟。

本系列文章翻译自《50 Tips and Tricks for MongoDB Developers》,暂时没有找到中文版,反正自己最近也在深入学习mongodb,所以正好拿来翻译一下。一方面加强自己学习的效果,另一方面让大 家也一起来体验一下需要我们这些mongodb使用者需要注意的地方。

首先声明自己的英文水平不是太高,加之有些英文翻译成中文也找不到合适的词来表达,所以在文章中可能会出现英文原词,或者说有些地方的翻译会有些生 硬,也就是说会出现直译的地方。翻译该书的主要目的是为大家学习探讨用的,如果有翻译不精准的地方,或者说有更加精准的翻译,还请大家指出,我会及时的更 正的,在此先谢过各位了。

Tip#20.Handle replica set failure and failover

处理复制集的故障和故障恢复

你的应用应该有能力处理复制集中遇到的所有可能的故障问题。

假设你的应用抛出一个“找不到master”的错误。有两个可能导致这个错误的原因。你的复制集可能正在进行故障恢复,恢复一个新的primary,你必须优雅的处理进行primary选择所花费的这段时间。这段时间会持续几秒钟,如果你倒霉的话,也有可能是30秒或者更多。如果你在网络分区的另一边,可能几个小时看不到master。

找不到master是一个很严重的问题,如果发生这种请求,你的应用是否能接受只读的模式。你的应用应该可以处理短期只读和长期只读。

不管是否存在master,你都应该继续提供读取的服务。

在primary选举阶段,服务器成员会经历简短的不可读,恢复阶段。在这个时期,如果驱动来读取数据,成员会抛出异常,找不到master和slave。

本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/804564,如需转载请自行联系原作者

你可能感兴趣的文章
测试用例的优先级别
查看>>
Java学习笔记--StringTokenizer的使用
查看>>
Logstash inputs配置
查看>>
Promise实现之bluebird 5分钟入门教程
查看>>
看懂UML类图
查看>>
Struts和Sitemesh整合,实现多个装饰器
查看>>
NSOperation下载网络图片(四)
查看>>
12 HTML5中的影音播放
查看>>
微服务架构实践之缓存
查看>>
raid0、raid1、raid5、raid10 flash
查看>>
[转载]PS各个工具的字母快捷键和英文全名
查看>>
Java中的单例模式
查看>>
Android初学者教程
查看>>
java web项目使用log4j的使用笔记
查看>>
linux磁盘挂载
查看>>
透過proxychains讓不支持代理的程序通過代理上網
查看>>
自学篇之--js 提取复选框和单选框的值 和纯css的3D按钮
查看>>
安卓入门笔记之Activity
查看>>
关于Shiro框架权限标识符中*使用的总结
查看>>
Hibernate中HQL函数汇总及其说明
查看>>