Traefik InFlightConn TCP 中间件文档
InFlightConn(TCP 并发连接限制)
inFlightConn 中间件主动防止服务因高负载而不堪重负。它按 IP 限制允许的同时连接数。
配置示例
YAML 格式:
yaml
# 限制为 10 个同时连接
tcp:
middlewares:
test-inflightconn:
inFlightConn:
amount: 10TOML 格式:
toml
[tcp.middlewares]
[tcp.middlewares.test-inflightconn.inFlightConn]
amount = 10Labels 格式:
yaml
labels:
- "traefik.tcp.middlewares.test-inflightconn.inflightconn.amount=10"Kubernetes 格式:
yaml
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: test-inflightconn
spec:
inFlightConn:
amount: 10配置选项
| 字段 | 描述 | 默认值 | 必填 |
|---|---|---|---|
amount | 允许的同时连接数。 | - | 是 |
适用场景
- 保护数据库连接:限制同时连接到 PostgreSQL、MySQL 的数量
- 保护消息队列:限制同时连接到 Kafka、RabbitMQ 的连接数
- 保护 SSH 代理:限制同时 SSH 连接数
- 防止后端过载:对资源密集型服务进行连接限制
与 InFlightReq 的区别
| 特性 | InFlightReq | InFlightConn |
|---|---|---|
| 协议 | HTTP | TCP |
| 限制单位 | 请求数 | 连接数 |
| 适用 | HTTP 服务、API | TCP 服务、数据库 |
在生产环境使用 Traefik OSS?
如果你在工作中使用 Traefik,可以考虑为其添加企业级 API 网关能力或获取 Traefik OSS 的商业支持。