吉佳 发表于 2018-10-28 07:02:13

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

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

页: [1]
查看完整版本: 写给MongoDB开发者的50条建议Tip20