IPVS基于应用层任意偏移字段HASH值的负载均衡算法(4)

如果等待它自己过期,那么试想一种超时时间很久的情况。客户端A五元组为tuple1使用sessionID1匹配到了一个real server1,设置了conn缓存conn1,过了一些时间,客户端A更换了IP地址,此时理所当然地,它不会再匹配到conn1,缓存不命中,依靠不变的sessionID1它在conn_schedule中选择了同样的real server1,设置了新的conn2缓存项,然后conn1就变成僵尸了,等待超时删除。过了很久,客户端2携带接管了客户端1的老的IP地址和UDP端口,访问了同样的UDP服务,此时客户端2的五元组为tuple1,携带sessionID2,由sessionID2计算得到的real server本应该是real server2,但是由于命中了僵尸conn1,它将被负载到real server1,此时客户端2更改了IP地址,它的五元组变成了tuple2',经过conn_schedule计算后,它匹配到了real server2,由于为它服务的初始real server为real server1,这将导致连接切换。这就是没有删除通知机制导致的问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1fe6153cc5c3962b8571d3d470875fcc.html