数据面高可用性
API7 网关数据面(DP)的高可用性(HA)可确保单个节点发生故障或重启时,API 流量仍能正常处理。本页介绍如何在负载均衡器后部署多个数据面节点。
本指南重点介绍流量节点的运行时可用性。如需了解相关主题,请参见:
- 扩缩容数据面用于增加容量。
- 在 Kubernetes 上自动扩缩容数据面 用于基于 HPA 的扩缩容。
- 数据面弹性 介绍控制面长时间中断时的回退机制。
高可用性架构
数据面的典型 HA 设置涉及跨不同物理服务器或可用性区域部署多个 DP 节点。
- 多节点 部署:部署至少两个 DP 节点可确保一个节点在另一个节点发生故障时可以接管。
- 无状态运行:DP 节点独立运行且不共享状态,从而简化 HA 架构。
- 控制面独立:即使控制面暂时不可用,DP 节点也可以继续使用缓存的配置处理流量。
健康检查和探测
配置健康检查以监控 DP 节点状态,确保只有健康节点接收流量。
状态 API 端点
DP 公开可用于运行状况监控的状态 API(通常位于端口 7085)。
- URL:
http://<dp-node-ip>:7085/status - 响应:成功响应(HTTP 200)表示 DP 状态健康,可以处理流量。
Kubernetes 探针
在 Kubernetes 环境中,使用 Readiness 和 Liveness 探针来管理 DP Pod 的生命周期。
# Kubernetes Pod 探针示例
readinessProbe:
httpGet:
path: /status/ready
port: 7085
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /status
port: 7085
initialDelaySeconds: 15
periodSeconds: 20