需要长链接的业务出现短暂连接中断,例如:直播、在线会议。
Nginx 重启或重新加载配置时导致长链接断开。
Nginx Ingress Controller 缩容时,由于没有优雅退出能力,可能导致请求没处理完就退出。
针对 Nginx 重启或重新加载配置时的断开,可通过配置 worker-shutdown-timeout 来设置重新加载配置后长链接的断开时间;修改 ingress-nginx-controller 的 configmap 即可。
kubectl edit configmap -n ingress-nginx ingress-nginx-controller
apiVersion: v1 data: disable-access-log: "true" enable-multi-accept: "true" enable-underscores-in-headers: "true" ignore-invalid-headers: "false" max-worker-connections: "500000" max-worker-open-files: "1000000" worker-cpu-affinity: auto worker-shutdown-timeout: "240"
针对 Nginx Ingress Controller 缩容导致的长链接断开,客户端存在重试机制则可以自行恢复。