L4/L7 超时

基本概念

L4/L7 超时是 ALB 提供的一项功能,用于配置 L4/L7 代理的超时时间。

超时通过 Lua 脚本实现,修改超时配置时,Nginx 无需重新加载。

CRD

timeout:
  properties:
    proxy_connect_timeout_ms:
      type: integer
    proxy_read_timeout_ms:
      type: integer
    proxy_send_timeout_ms:
      type: integer
  type: object

配置可以在以下位置进行:

  • 前端:.spec.config.timeout
  • 规则:.spec.config.timeout

超时的含义

超时有三种类型:

  1. proxy_connect_timeout_ms:定义与上游服务器建立连接的超时时间。如果在此时间内无法建立连接,请求将失败。

  2. proxy_read_timeout_ms:定义从上游服务器读取响应的超时时间。该超时时间设置在两次连续读取操作之间,而不是针对整个响应。如果在此时间内未收到任何数据,连接将关闭。

  3. proxy_send_timeout_ms:定义向上游服务器发送请求的超时时间。与读取超时类似,该超时时间设置在两次连续写入操作之间。如果在此时间内无法发送任何数据,连接将关闭。

Ingress 注解

注解描述
nginx.ingress.kubernetes.io/proxy-connect-timeout对应 CR 中的 proxy_connect_timeout_ms
nginx.ingress.kubernetes.io/proxy-read-timeout对应 CR 中的 proxy_read_timeout_ms
nginx.ingress.kubernetes.io/proxy-send-timeout对应 CR 中的 proxy_send_timeout_ms

端口级别超时

您可以直接在端口上配置超时,该配置用作 L4 超时。

商标声明

NGINX® 是 F5, Inc. 在美国及其他国家/地区的注册商标。

Alauda 是一家独立的供应商。本产品与 F5, Inc. 没有关联,也未得到其认可或赞助。所有商标均归其各自所有者所有,此处仅用于识别目的。