温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

写给MongoDB开发者的50条建议Tip20

发布时间:2020-06-27 07:49:22 来源:网络 阅读:530 作者:virusswb 栏目:MongoDB数据库

本系列文章翻译自《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。

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI