tcp 连接,黑洞,超时

时间:2022-09-19 23:23:23

1. lvs 建立在 tcp 之上,  先通过某个 port 建立了连接, 然后通过 seesion 转发给 realServer.

   tcp本身连接建立了,维护链接的定时器是keepalive,这个不设置,就不会断,中间lvs根据session转发,idle就是把session删除,数据进入到lvs,没session就丢弃. lvs 断开连接其实断的不彻底. 只是删除了 session,但是没有删除对应的定时器keepalive. lvs 没有发送 rst ,而是只是删除了session. keepalive 是tcp 底层控制的.


     几种模式的区别是 client 和 realServer 的可见性.

2. TCP保活(TCP keepalive) lvs 识别不了 tcp 头,不认识 sync 结构.


tcp 连接,黑洞,超时

[1] Web基础架构:负载均衡和LVS 写的非常清楚. 点到了 1.代替建立连接 2.有 session 3.

客户端与服务端的通信,一次请求可能包含多个TCP包,LVS必须保证同一连接的TCP包,必须被转发到同一台RS,否则就乱套了。为了确保这一点,LVS内部维护着一个Session的Hash表,通过客户端的某些信息可以找到应该转发到哪一台RS上。