当前位置:主页 > 查看内容

DDS实例节点故障处理机制_文档数据库服务 DDS_用户指南_故障排除

发布时间:2021-10-24 00:00| 位朋友查看

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

集群实例

集群实例的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 单节点实例拓扑图

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

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


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐