分布式服务超时问题
来源:互联网 发布:python 去掉水印 编辑:程序博客网 时间:2024/06/09 14:41
最近发现有一次启动mongos需要特别久,查明原因后发现是超时时间过长导致。
因为后端三台configdb中的一台死机,mongos启动时会去分别连接这几台configdb,在connect这台机器的时候,由于机器无响应,导致超时后才能返回,这样启动时间超过了一分钟。而且在查询mongos的时候,有些命令(show dbs)也会阻塞很久,因为要同步从configdb取结果。
解决办法可以将操作系统的/proc/sys/net/ipv4/tcp_syn_retries改为0,这样当连接tcp连接时,发送的sync无响应,不会再重试,这样超时时间就是3s。或者修改mongos源码,将超时时间改短。
在分布式服务系统中,后端机器经常会有多台,原则上一台机器死机,是不影响服务的。但由于有时候将超时时间设置过长,在同步访问后端的机器中就会出现超时问题,这样即使一台机器挂掉,对服务会对有影响。
如果网络条件比较好,实际上这些超时时间是可以设置很短的,例如50毫秒。当机器出问题后,对整体服务影响不大。
- 分布式服务超时问题
- Azure 云服务超时问题
- wcf服务配置以及解决超时问题
- WCF服务访问超时的问题
- 谈服务超时问题的处理
- 治疗Eclipse启动tomcat服务超时问题
- C#中分布式事务的超时处理问题
- C#中分布式事务的超时处理问题
- ORA-02049: 超时: 分布式事务处理等待锁 问题的解决
- C#中分布式事务的超时处理问题
- C#中分布式事务的超时处理问题
- vm分布式,ping超时
- 多服务分布式并发问题的理解
- 【dobbo】服务配置详解(解决超时重试问题)
- 用redis-cli连接redis服务超时问题
- 超时问题
- 分布式服务
- Windows服务超时时间
- kettle传递多个参数
- Hbase 和Oracle 的比较以及使用
- JSON对象和字符串之间的相互转换
- C++ 初学者指南 第四篇(6)一些字符串相关的库函数
- 【Linux】Glances(Python)—Unix/Linux资源监控
- 分布式服务超时问题
- 如何编写 PL/SQL 程序
- Emacs和Vim:神的编辑器和编辑器之神
- 策略模式
- Git详解之二 Git基础
- mfc更改窗口大小
- 【ASDL宽带常见错误代码解决办法】
- JNDI全面总结
- Windows7 Android 开发环境搭建