Citrix ADC

如果后端服务器在连接建立期间重置 TCP 连接,请求重试

当后端服务器在连接建立期间重置 TCP 连接时,请求重试功能会将请求转发到下一个可用的服务器,而不是将重置发送给客户端。通过执行重新负载平衡,当设备向下一个可用服务发起同一请求时,客户端会保存 RTT。

在 SYN 建立时后端服务器重置 TCP 连接时,请求重试的工作原理

下图显示了组件之间的交互:

请求重试的工作原理

  1. 该过程首先在设备上启用 appqoe 功能。
  2. 当客户端发送 HTTP 或 HTTPS 请求时,负载平衡虚拟服务器将启动与后端服务器的连接。
  3. 如果在 TCP SYN 建立时请求的服务不可用,则后端服务器将重置 TCP 连接。
  4. 如果 appqoe 配置启用了 “重试” 且指定了所需的重试次数,则负载平衡虚拟服务器将使用配置的负载平衡算法将请求转发到下一个可用的应用程序服务器。
  5. 负载平衡虚拟服务器收到响应后,设备将响应转发给客户端。
  6. 如果可用的后端服务器等于或小于重试计数,如果所有服务器都发送了重置,则设备将响应 500 个内部服务器错误。考虑一个具有五台可用服务器且重试计数设置为 6 台的场景。如果所有五台服务器都重置了连接,则设备将向客户端返回 500 个内部服务器错误。
  7. 同样,如果后端服务器的数量超过重试计数,如果后端服务器在 TCP SYN 建立时重置连接,则设备将重置转发给客户端。考虑一个包含三台后端服务器并将重试计数设置为两台的场景。如果三台服务器重置连接,则设备将向客户端发送重置数据包。

在 TCP SYN 建立时后端服务器重置时配置请求重试(GET 和 POST 方法)

CLI 和 GUI 配置类似于 GET 和 POST 方法所遵循的步骤。有关详细信息, 请参阅为 GET 方法配 置请求重试主题中后端服务器重置连接时配置 POST 方法的请求重试一节。

如果后端服务器在连接建立期间重置 TCP 连接,请求重试