上游高可用
当 API7 企业版向上游发送 API 请求时,如果上游系统发生故障,就会出现可用性和可靠性问题。本文档介绍上游依赖系统的高可用性策略。
前提条件
添加多个上游节点
使用多个上游节点可以防止单节点故障。对网关组中的上游节点所做的修改不会影响发布到其他网关组的同一服务版本。
- 从侧边栏选择网关组的 已发布服务,然后点击要修改的服务,例如,版本为
1.0.0
的httpbin API
。 - 在已发布的服务下,从侧边栏选择 上游。
- 点击 节点 > 新增节点。
- 在对话框中,执行以下操作:
- 在 主机 和 端口字段中,输入另一个 API 端点。
- 在 权重 字段中,输入
100
,与第一个节点相同。 - 点击 新增。
修改负载均衡类型
负载均衡将网络请求分配到多个节点。这对于处理高流量的系统至关重要,可以提高性能、可扩展性和可靠性。
API7 网关支持多种负载均衡算法:
- 加权轮询(WRR)
- 一致性哈希
- 指数加权移动平均(EWMA)
- 最少连接
默认情况下,API7 网关支持 WRR 算法。该算法以循环模式根据一组节点的权重分配传入请求。
- 从侧边栏选择网关组的 已发布服务,然后点击要修改的服务,例如,版本为
1.0.0
的httpbin API
。 - 在已发布的服务下,从侧边栏选择 上游。
- 在 上游配置 字段中,点击 编辑。
- 在对话框中,将 负载均衡类型 编辑为
Least Connection
。 - 点击 编辑。
启用健康检查
健康检查是一种机制,用于根据上游节点的响应能力来确定它们是健康还是不健康。启用健康检查后,API7 企业版将只转发请求到被认为是健康的上游节点,而不转发请求到被认为是不健康的节点。
健康检查有两种基本方法:
- 主动健康检查:通过主动探测节点来确定上游节点的健康状况。
- 被动健康检查:根据节点如何响应用户请求来确定上游节点的健康状况,而无需启动额外的探测。被动检查必须与主动检查一起使用。它们不能单独使用。
信息
请确保在启用健康检查之前,你的 API 后端已经实现了健康检查的端点。
- 从侧边栏选择网关组的 已发布服务,然后点击要修改的服务,例如,版本为
1.0.0
的httpbin API
。 - 在已发布的服务下,从侧边栏选择 上游。
- 在 健康检查 字段中,点击 启用。
- 在对话框中,执行以下操作:
- 在 探针协议 字段中,选择
HTTP
。 - 在 HTTP 探针路径字段中,输入
/health
。 - 对其余字段使用默认值。
- 点击 启用。