当没有启用oneconnect时候,F5是基于每个TCP连接来做负载均衡,即一个客户端和VS之间建立了一个连接,那么后续复用这个TCP连接的http request可能就被忽略掉原本应该关注的会话保持要素(比如基于cookies)而只按照该TCP链接第一次产生的会话保持条目执行(即后续的不同http request可能还被定向到同一台服务器),这样导致了不能按照http中的指定会话信息进行后端服务器连接。
什么时候才会出现同一源地址过来的http会话保持信息却不同呢------代理服务器. 代理服务器可能用同一个TCP链接,传输完全不同的两个http request.
而当启用了oneconnect后,F5是基于每个http连接的,所以不会出现这种情况。
关于oneconnect:
oneconnect 将keep-alive只能为同一个客户端复用TCP连接扩展为为多个客户端复用LTM到SERVER间的TCP连接.
oneconnect是为了有效利用F5和后端服务器之间的连接的,客户端和F5之间可以有很多HTTP连接,而链接在从F5发向服务器的时候,F5可以根据掩码匹配规则来决定复用已经存在的TCP链接。(复用链接和会话保持关系,F5先按照LB算法和会话保持特性决定使用某台server,然后再看LTM和SERVER之间是否存在可复用的tcp链接)
文章评论