config server高可用的怀疑(非副本集模式)

SCCC和CRCS的区别

在mongo3.4版本之前,configsvr的高可用有两种方式,一种是SCCC,即非副本集模式,一种是CSRS(副本集模式)。在mongo3.4以后已经不支持SCCC了,就我使用SCCC模式的经验看,SCCC确实太坑。个人认为,CSRS相对SCCC大概有以下优点
1 节点宕机后SCCC模式只读不可写,这时mongos无法负载均衡。而CSRS存在副本集的高可用,宕机一台的情况下不影响config本身的读写,故不影响后台负载均衡。

2 节点宕机,如果数据损坏,这时修复还得去健康的节点mongodump,mongorestore,麻烦死了,而CRCS重建副本集只是一条命令那么简单

3  SCCC的高可用不靠谱,其中一台宕机容易引发mongos连接超时,卡顿,不稳定,也就是下文提到的问题。

SCCC(非副本集模式)大概原理一般就是通过创建3个节点的config server,每个节点数据完全一致,当其中一个节点宕机后,这时config server集群禁止写入,可以读取(可以这么理解,mongos不能再做负载均衡,直到宕机的config server重新启动,但是并不影响业务读写)。不过在实际使用过程中,我发现只要有一台config server宕机,这时mongos连接基本都是超时,能连上的执行各种查询操作也非常卡

复现方法

创建了三个config server,配置成SCCC,另外新建了一个mongos


任意关闭其中一个config server   10.10.5.196,这时登陆mongos卡住


卡了很久终于登陆上了,这时执行sh.status()依然很卡

猜测原因

应该是官方客户端mongo shell的问题,应用代码访问可能问题不大


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值