上游高可用
当 API7 企业版向上游发送 API 请求时,如果上游系统发生故障,就会出现可用性和可靠性问题。本文档介绍上游依赖系统的高可用性策略。
前提条件
- 获取一个具有超级管理员 或 运行时管理员 角色的用户账户。
- 发布一个服务,其中会包含至少一个 API。
添加多个上游节点
使用多个上游节点可以防止单个节点失效。根据运行时配置,用户可以直接更改正在发布或已经发布的上游节点。对网关组上游节点的修改不会影响在其他网关组上发布的相同服务版本。
- 从左侧导航栏中选择服务,然后选择 Swagger Petstore > 1.0.0。
- 从左侧导航栏中选择上游,然后单击节点 > 新增节点。
- 在对话框中,执行以下操作:
- 在主机和端口字段中,输入另一个 API 端点。
- 在权重字段中,输入与第一个节点相同的
100
。
- 单击新增。
修改负载均衡类型
负载均衡将网络请求分配给多个节点。这对处理高流量的系统至关重要,可提高性能、可扩展性和可靠性。
API7 企业版支持多种负载均衡算法:
- 加权轮循
- 一致散列
- 指数加权移动平均法(Exponentially Weighted Moving Average,EWMA)
- 最少连接
默认情况下,API7 企业版使用加权轮循算法。该算法根据节点的权重以循环模式将收到的请求分配给一组节点。
由于负载均衡类型不属于运行时配置,因此应在服务模板中进行修改,然后将新版本发布到网关组。已发布的版本中,无法修改负载均衡类型。
- 从左侧导航栏中选择服务,然后选择 Swagger Petstore。
- 从左侧导航栏中选择上游。
- 在上游配置信息字段中,单击编辑。
- 在对话框中,将负载均衡类型更改为
Least Connection
。 - 单击编辑。
- 从左侧导航栏中选择服务,然后选择
Swagger Petstore
服务并单击发布新版本。 - 在弹出的对话框中,选择
测试网关组
,然后单击下一步。 - 在新版本字段中,输入
1.0.1
。 - 确认服务信息,然后单击发布。
启用健康检查
健康检查是一种根据上游节点的响应速度确定其健康与否的机制。启用健康检查后,API7 企业版将只向认为健康的上游节点转发请求,而不向认为不健康的节点转发请求。
健康检查一般有两种方法:
- 主动健康检查:通过主动探测节点来确定上游节点的健康状况。
- 被动健康检查:根据节点对用户请求的响应情况确定上游节点的健康状况,而不启动额外的探测。被动检查必须与主动检查一起使用。它们不能单独使用。
由于健康检查配置不属于运行时配置,因此应在服务模板中进行修改,然后将新版本发布到网关组。已发布的版本中,无法更改健康检查配置。
信息
在启用健康检查之前,请确保 API 后端已经实施了 API 端点的健康检查。
从左侧导航栏中选择服务,然后选择 Swagger Petstore。
从左侧导航栏中选择上游。
在主动健康检查字段中,单击启用。
在对话框中,执行以下操作:
- 在协议字段中,选择
HTTP
。 - 在 HTTP 探测路径字段中,输入
/health
。 - 其余字段使用默认值。
- 单击启用。
- 在协议字段中,选择
在被动健康检查字段中,单击启用。
在对话框中,执行以下操作:
- 在协议字段中,选择
HTTP
。 - 其余字段使用默认值。
- 单击启用。
- 在协议字段中,选择
从左侧导航栏中选择服务,然后选择
Swagger Petstore
服务并单击发布新版本。在弹出的对话框中,选择
测试网关组
,然后单击下一步。在新版本字段中,输入
1.0.1
。确认服务信息,然后单击发布。