全域性上游

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 秒。

當上遊伺服器狀態是健康時:

當上遊伺服器狀態不健康時:

同時,點選健康檢查詳情,可以看到上游伺服器的詳細狀態: