数据面高可用性
API7 网关数据面(DP)节点的高可用性(HA)可在个别节点故障或重启时维持 API 流量。设计负载均衡器后端的多节点部署时,请使用本指南。
本指南侧重于流量服务节点的运行时可用性。相关主题请参阅:
- 扩缩容数据面介绍如何增加容量。
- 在 Kubernetes 上自动扩缩容数据面介绍基于 HPA 的扩缩容。
- 数据面弹性介绍控制面长时间中断时的备用行为。
高可用架构
典型的数据面高可用方案会将多个数据面节点部署到不同的物理服务器或可用区。
- 多节点部署:至少部署 两个数据面节点,确保某个节点故障时,另一个节点可以接替。
- 无状态运行:数据面节点独立运行,不共享状态,从而简化高可用架构。
- 控制面独立性:即使控制面暂时不可用,数据面节点也可以继续使用缓存配置处理流量。
健康检查与探针
配置健康检查以监控数据面节点状态,确保只有健康节点接收流量。
状态 API 端点
启用状态监听后,才能使用健康端点。示例使用端口 7085。/status 返回 200 确认网关进程正在运行。如果流量路由要求 DP Manager 连接可用且 worker 已同步,请使用 /status/ready。
Kubernetes 探针
本 Kubernetes 示例使用感知同步状态的就绪检查。如果希望网关在共享控制面中断期间继续接收流量,请使用能基于缓存配置成功响应的流量检查。参阅配置就绪和存活探针。
# Kubernetes Pod 探针示例
readinessProbe:
httpGet:
path: /status/ready
port: 7085
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /status
port: 7085
initialDelaySeconds: 15
periodSeconds: 20