跳到主要内容
版本:3.10.x

扩缩数据面

API7 网关数据面(DP) 节点是无状态的,这使得它们可以随着流量的增长而直接水平扩展。当你需要向现有部署添加容量时,请使用此页面。

如果你正在计划生产部署,请一起阅读这些指南:

水平缩放

水平扩展涉及向你的部署添加更多数据面节点。这是增加 API7 网关容量的最常见方法。

无状态设计

数据面节点不存储任何本地状态。所有配置均从控制面接收并保存在内存中。这意味着你可以添加或删除 DP 节点,而不会丢失任何配置或影响整体系统稳定性。

负载均衡器配置

负载均衡器(例如 NGINX、HAProxy 或云提供商的负载均衡器)通常放置在数据面节点前面以分配传入流量。

  • 健康检查:配置负载均衡器以对 DP 节点执行定期健康检查(通常在端口 7085,使用 /status/status/ready端点)。
  • 负载均衡算法:根据你的流量模式,使用轮询、最少连接或 IP 哈希等算法。

Kubernetes 水平 Pod 自动缩放 (HPA)

如果你在 Kubernetes 上运行 API7 Gateway,则可以使用 HPA 根据 CPU 或内存利用率自动扩展 DP Pod 的数量。

# HPA 配置示例
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: api7ee-dp-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: api7ee-dp
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70

手动缩放

在非 Kubernetes 环境中,你可以通过启动新 DP 节点并将其添加到负载均衡器的上游池来手动扩展数据面。

  1. 启动新的 DP 节点:部署一个新的 DP 实例,其配置与现有节点相同。
  2. 验证连接:确保新节点可以连接到控制面。
  3. 添加到负载均衡器:更新负载均衡器配置以包含新节点的 IP 地址。

扩展的注意事项

缩放数据面时,请考虑以下事项:

  • 控制面容量:确保控制面可以处理连接到它的 DP 节点数量的增加。
  • 网络带宽:监控网络带宽以确保在添加更多节点时它不会成​​为瓶颈。
  • 上游性能:扩展网关可能会增加上游服务的负载。确保他们能够处理额外的流量。

后续步骤