" session"的确切含义是什么?在haproxy?

时间:2015-10-16 10:39:59

标签: session haproxy

当我打开我的http代理服务器的haproxy统计报告页面时,我看到了类似这样的内容:

MediaRecorder

我没有使用' appsession'和配置中任何其他cookie相关的命令。那么会议'会议'会议'在这里意味着什么?

我猜haproxy按此顺序识别http会话:

  1. 如果配置中存在cookie或查询字符串,则使用该字符串。
  2. 使用SSL / TLS会话。
  3. 使用IP地址和TCP连接状态。
  4. 我是对的吗?

2 个答案:

答案 0 :(得分:7)

今天早上我问自己同样的问题。

通过http://www.haproxy.org/download/1.5/doc/configuration.txt搜索我遇到了这个非常简短的定义(隐藏在参数说明中):

A session is a connection that was accepted by the layer 4 rules.

在您的情况下,您显然使用Haproxy作为layer7 / HTTP负载均衡器。如果会话是TCP连接,由于客户端/前端Keep-Alive,与会话相比,HTTP请求更多是正常的。

然后我猜高连接数表明即使在被HTTP层考虑之前,许多传入连接也被拒绝了。例如,通过基于IP的ACL。

据我了解,'会议'引入这个词是为了确保两个不同的概念没有混合:

  • (TCP)连接:它是一个离散事件
  • 一个(TCP)会话:它是跟踪各种元数据并具有一定持续时间的状态;最重要的是,Haproxy工作负载(CPU和内存)应该主要与会话数量(到达率和并发数量)相关。

答案 1 :(得分:4)

事实上,在连接之后但之前没有引入会话。端到端连接称为" session"。随着SSL,代理协议和第4层ACL的引入,需要在较小的部分中削减端到端会话,因此引入了"连接"。 Zerodeux完美地解释了你所观察到的内容。