spring-boot - K8s haproxy入口控制器在100个请求后关闭保持连接
问题描述
我有一个入口控制器(haproxy)和 2 个微服务。
MS2 正在呼叫 MS1。MS1 具有配置 keepAliveRequest=-1(无限制)并且保持活动超时 = 50 分钟。当 MS2 通过 kube-proxy(NodePort 类型服务)调用 MS1 时,当 MS2 只创建一些连接(在我的情况下为 10 个)时可以。
但是如果我们通过调用入口控制器从 MS2 调用 MS1。连接总是每 100 个请求关闭一次。所以它会创建很多连接。
有人可以帮我吗?
编辑:我们在此站点中使用了 haproxy-ingress 控制器的最新版本: https ://quay.io/repository/jcmoraisjr/haproxy-ingress?tag=latest&tab=tags
我们已经设置了一些配置(配置映射):
http-keep-alive=true
load-balance=roundrobin
maxconn=20000
nbthread=10
rate-limit=OFF
rate-limit-expire=30m
rate-limit-interva=10s
rate-limit-size=3000k
servers-increment=42
servers-increment-max-disabled=66
timeout-client=60m
timeout-connect=60m
timeout-http-keep-alive=60m
timeout-http-request=15s
timeout-queue=5s
timeout-server=60m
timeout-tunnel=1h
在负载均衡中,我们在 YAML 中有一些如下配置
ingress.kubernetes.io/balance-algorithm: roundrobin
ingress.kubernetes.io/maxconn-server: "20000"
ingress.kubernetes.io/ssl-redirect: "false"
ingress.kubernetes.io/timeout-http-request: 5m
ingress.kubernetes.io/timeout-keep-alive: 7h
ingress.kubernetes.io/timeout-queue: 5s
解决方案
推荐阅读
- vue.js - 如何在按钮内呈现绑定图标?
- python - 我无法使用上下文管理器(with)读取文件
- laravel - 无法使用 Laravel 发送电子邮件
- javascript - 对象数组上的 forEach/map 不添加属性
- javascript - 创建基元联合类型和基元数组时出现流类型错误
- javascript - 在 dataTransfer.setData 上设置多个数据
- linux - 创建带有子目录的符号链接
- node.js - Node + Express 应用程序中的 Passport + Google 令牌不断向邮递员的尝试抛出“未经授权”,令牌很好并且手动验证
- python - 输入数据形状和大小,RNN Keras,回归
- java - GluonMobile:mergeAndroidAssets 任务失败(缺少@Inject)