文档首页 > > 用户指南> 故障排除> DDS实例节点故障处理机制

DDS实例节点故障处理机制

分享
更新时间:2020/05/18 GMT+08:00

集群实例

集群实例的shard节点和config节点均采用三节点副本集架构。当其中的某个节点发生故障后,系统会使用另一个正常节点替换故障节点继续提供服务,并对故障节点进行检查与修复。该过程对用户完全透明,可能会产生1次30秒内的连接闪断,建议您的应用程序添加自动重连机制。

图1 集群实例拓扑图

集群实例的mongos节点采用单节点架构,当某个mongos节点发生故障,该节点相关服务将不可用。推荐您使用Connection String URI连接所有mongos节点,请勿连接单个mongos节点。当使用Connection String URI连接所有mongos节点时,如果某个mongos节点发生故障,客户端能自动进行故障切换,将请求分散到状态正常的mongos节点上。连接命令示例:

mongo "mongodb://rwuser:xxxxxxxx@192.168.95.167:8635,192.168.92.43:8635/test?authSource=admin"

使用Connection String URI连接兼容MongoDB 3.4版本的集群实例时,建议使用4.0以上的MongoDB客户端,否则会出现报错。

图2 报错信息

副本集实例

图3 副本集实例拓扑图

副本集实例提供两个节点供用户访问,当其中的某个节点发生故障后,系统会使用另一个正常节点替换故障节点继续提供服务,并对故障节点进行检查与修复。该过程对用户完全透明,可能会产生1次30秒内的连接闪断,建议您的应用程序添加自动重连机制。

推荐您使用Connection String URI进行连接,请勿直接连接副本集的Primary节点。当使用Connection String URI进行连接时,如果某个节点出现故障,不会因为节点的切换而影响应用的读写操作。连接命令示例:

mongo "mongodb://rwuser:xxxxxxxx@192.168.168.116:8635,192.168.200.147:8635/test?authSource=admin&replicaSet=replica"

连接副本集实例的最佳实践,请参见如何连接副本集实例以实现读写分离和高可用

单节点实例

图4 单节点实例拓扑图

由于单节点实例架构的特殊性,仅提供一个节点供用户访问。当节点发生故障后,系统会对故障节点进行检查与重建。节点故障期间,该节点相关服务将不可用。

单节点实例适用于测试、培训、非核心业务等场景,生产环境建议您使用集群实例或副本集实例,以保障服务的高可用性。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问