全局上游

OpenResty Edge 提供了“全局上游”,允许定义公共的上游,这些上游可以被多个不同的 HTTP 应用直接引用,而无需在不同的应用中都定义一遍上游。

下面将介绍如何在 Edge Admin 中配置“全局上游”。

首先进入页面 全局配置 > 全局上游:

如上图所示,在左侧标签页就能找到全局上游的入口。

接着点击 新建上游 按钮,开始创建新的全局上游。

输入上游的信息:

填写上游名称为即将创建的上游进行命名,协议根据需要可以选择 HTTP 或者 HTTPS,当选择是 HTTPS 时,还可以配置是否启用 SSL 验证,默认是开启的。 健康检查的配置可以根据这里进行配置。 接着填入上游服务器的信息,可以设置一个或多个上游服务器。

如果需要修改上游的属性,可以点击列表中对应记录的右侧 编辑 按钮进行编辑:

修改属性后,就可以点击 保存 按钮(如果不想保存,点击 取消 即可)。

如果某个上游不再需要了,可以点击列表中对应记录的右侧 删除 按钮进行删除:

需要注意的是,如果上游还被其他应用使用中,则无法被删除。

上游健康检查

上游健康检查可以用于检查上游服务是否正常运行,有利于提高系统的可用性、稳定性。

在 OpenResty Edge 中,无论是全局上游还是 HTTP 应用上游,都支持健康检查。

启用方式也很简单,在新增或者是编辑上游时,点击“健康检查”开关进行开启。

在 OpenResty Edge 的上游健康检查中, 如果开启 一直检查,那么将会定期去检查上游是否可用。默认是不开启的,只有在请求发送到了对应上游,才会进行检查。 健康检查的协议当前支持“HTTP”和“TCP”,对于 HTTP 服务,选择 HTTP 协议是更常见的做法。 请求方法中,可以选择“HEAD”或者是“GET”方法。“HTTP 请求主机”和“HTTP 请求 URI”将决定健康检查请求的目的地,同时也可以指定使用的 HTTP 协议版本以及设置 User-Agent 请求头部。 请求间隔是指相邻两个请求之前的时间间隔,默认是 3 秒,当发送的请求超过超时时间时,将判定请求为失败。超时时间默认为 1 秒。如果请求没有超时,但是请求的状态不在指定的状态中,那么请求也会被判定为失败。当连续失败的请求数量超过了设置的不健康阈值,那么上游将被判定为“不健康”;当前连续成功的请求数量超过了设置的健康阈值,上游被判定为健康。 最后一个选项“上报间隔”用于配置 Edge Node 多久向 Edge Admin 上报上游的状态,默认是 3 秒。

当上游服务器状态是健康时:

当上游服务器状态不健康时:

同时,点击健康检查详情,可以看到上游服务器的详细状态: