lvs keepalived的tcp 长连接的问题解决办法
client端的SoTimeout, 就java来说就是java.net.Socket的setSoTimeout方法设置的, setSoTimeout(0)就是表明超时时间无限大。
这个值是为读取阻塞设置超时的。
lvs的设置:
查看是ipvsadm --list --timeout, 比如我的机器就会返回如下结果:
# ipvsadm --list --timeout
Timeout (tcp tcpfin udp): 7200 5 60
这就表明我的tcp session的timeout时间是7200秒。
设置timeout:
ipvsadm --set 7200 5 60
这个值如果设置太小,你的client将会收到 connection reset by peer此类的错误提示。
keepalived的配置:
就是virtual_server的persistence_timeout,意思就是在这个一定时间内会讲来自同一用户(根据ip来判断的)route到同一个real
server。对于长连接类的应用,你肯定需要这么做。配置值最好跟lvs的配置的timeout一致。
举例如下:
virtual_server 172.19.1.19 5222 {
delay_loop 2
lb_algo wrr
lb_kind DR
persistence_timeout 7200
protocol TCP
real_server 172.19.1.8 5222 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.19.1.9 5222 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
}
lvs keepalived的tcp 长连接的问题解决办法相关推荐
- TCP长连接下,在应用层面,定制自己的负载均衡
TCP长连接下,流量负载均衡的做法 1 背景 2 存在的问题 2.1 连接被均分,流量无法被均分 2.2 长短信问题 2.3 IP鉴权问题 2.4 限速问题 3 定制自己的服务器负载均衡 3.1 解决 ...
- python使用socket实现协议TCP长连接框架
点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 使用python实现协议中常见的TCP长连接框架." 分析多了协议就会发现,很多的应用,特别是游戏类和IM类应用,它们的协议会使用 ...
- 通da信TCP长连接数据算法分析
点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 分析通da信TCP长连接内部分数据的算法." 作为一款老牌的炒股软件,通da信里面的数据是相当的丰富,免费的也很丰富,准确性也很好 ...
- TCP长连接与短链接
1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次 ...
- TCP长连接和短连接
2019独角兽企业重金招聘Python工程师标准>>> 1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操 ...
- java mina长连接短连接_MINA实现TCP长连接(四)——断开重连
前言 今天涉及以下内容: mina官网及实现客户端需要的jar包 客户端实现重连接涉及到的几个类 重连接在Activity中的使用 效果图和项目结构图 重连接涉及到的类源码 先来波效果图 image. ...
- TCP长连接与短连接的区别(转)
1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次 ...
- 应用服务器与数据库之间是长连接,要接收多个 tcp 长连接不断发送的数据并存储,哪些数据库或数据存储方案比较合适?...
在服务器建立服务端,与多个 tcp 连接保持长连接,服务端会根据客户端发送的 token 验证确定是否保持长连接建立"session"缓存, 在某个状态开启时(我称为存储状态),要 ...
- Python实现心跳保活TCP长连接
之前参与了一个横向项目,对方要求和他们的服务端对接时,我们开发的客户端必须一直保持连接,即维护一个长连接,这样服务端可以随时对我们下发控制命令. 简介 本文主要介绍如何实现TCP的长连接维护,主要通过 ...
最新文章
- 微信小程序登录,后端获取信息的问题
- [云炬ThinkPython阅读笔记]2.8 注释
- ddr5内存上市时间_DDR5内存明年才能上市,SK Hynix已预研DDR6:12Gbps
- LeetCode 487. 最大连续1的个数 II(滑动窗口)
- java实验_Java实验报告(实验一)
- python pyttsx3文本转语音_Python-文字转语音-pyttsx3
- 4K视频直播与点播系统的搭建与体验
- 从硬件竞争到软实力PK——电视媒体竞争观察
- 管理系统统一鉴权服务器,确认服务器已启用密码鉴权
- 数据结构——>稀疏数组
- Amoeba 实现Mysql的读写分离
- Js页面截取小数点后两位
- macfee怎么生成释放代码_mcafee规则设置技巧
- 2022-2027年中国氮化硼行业市场运行现状及投资战略研究报告
- 网络没有运行wmi服务器,win7系统中没有wmi服务如何解决_win7没有wmi服务的解决方法...
- Python练手项目:计算机自动还原魔方视频
- Line-based Automatic Extrinsic Calibration of LiDAR and Camera论文阅读
- windows批量移动文件bat脚本
- 大数据时代,华为云BI助力企业挖掘数据“宝藏”
- 分享本周所学——Unreal Engine 5(UE5/虚幻引擎5)安装以及创建项目的常见问题
热门文章
- axure rp pro 6.5
- 线性表 ----链表的C语言实现
- 人,是否应该不要去好高骛远
- 使用MakeCAB.exe命令创建CAB文件
- Delphi与Ole,Word,Excel,查找与替换等
- 基于WebGL架构的3D可视化平台—三维设备管理(ThingJS实现楼宇设备管理3D可视化)...
- 区块链的价值在于建立信任,而ICO却在摧毁信任
- Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)...
- 脱贫利器 | PYTHON多线程行情抓取工具实现
- 大数据时代云计算在新媒体平台的应用研究