Skip to main content
Version: 2.3.3

列表

在上游服務列表頁面,可以一下清楚看到所有的服務名稱標籤建立時間以及建立者的資訊,並且可以新增上游服務以及對既有上游服務做編輯刪除的動作。如果對某項上游服務想知道更詳細的資訊,可以點擊上游服務名稱,即可得到更詳細的訊息以及健康狀態資訊。

新增上游服務#

  1. 從網站左邊Menu中點選 上游服務列表 頁面,進入上游服務列表的畫面。

  2. 點選右上角的 新增 後,填入相關資訊後送出。

上游服務列表

新增上游服務

note

新增上游服務時只會有名稱標籤欄位。其它詳細設定請按編輯進入更新頁面設定。

欄位配置說明#

變數類型預設值說明必填
namestring上游服務名稱。V
algorithmstringround-robin負載平衡使用的演算法。可以接受的值有 consistent-hashingleast-connectionsround-robin
hash_onstringnone用來當作雜湊輸入。選擇 none 的結果為無使用雜湊之 weighted-round-robin 結構。
hash_fallbackstringnone如主要 hash_on 沒有返回雜湊,則用來當作雜湊輸入的類型。如果 hash_on 設為 cookie 則無法使用此欄位。
hash_on_headerstring用來當作雜湊輸入的標頭。只有當 hash_on 設定為 header 時可使用此欄位。
hash_fallback_headerstring用來當作雜湊輸入的標頭。只有當 hash_fallback 設定為 header 時可使用此欄位。
hash_on_cookiestring用來當作雜湊輸入的cookie。只有當 hash_on 或是 hash_fallback 設定為 cookie 時可使用此欄位。如果指定的cookie沒有出現在請求中,會自動產生一個值並且將其帶入回應的cookie中。
hash_on_cookie_pathstring/設定在回應標頭中的cookie路徑。只有當 hash_on 或是 hash_fallback 設定為 cookie 時可使用此欄位。
slotsnumber10000負載平衡運算時的槽數量。
healthchecks.active.https_verify_certificatebooleantrue決定當使用HTTPS運行主動健康檢查時是否檢查遠端主機之SSL憑證。
healthchecks.active.unhealthy.http_statusesarray of number[429, 404, 500, 501, 502, 503, 504, 505]會被作為檢查結果失敗或被判定狀態為不健康的回應狀態碼。
healthchecks.active.unhealthy.tcp_failuresnumber0TCP失敗到達會被認定狀態不健康的次數。
healthchecks.active.unhealthy.timeoutsnumber0連線逾時到達會被認定狀態不健康的次數。
healthchecks.active.unhealthy.http_failuresnumber0HTTP失敗到達會被認定狀態不健康的次數。(根據 healthchecks.active.unhealthy.http_statuses 設定的狀態做判定)
healthchecks.active.unhealthy.intervalnumber0對不健康目標做自動健康檢查的時間區間(單位為秒)。如設定為0則代表不會對不健康目標執行健康檢查之動作。
healthchecks.active.http_pathstring/做自動健康檢查時之請求的路徑。
healthchecks.active.timeoutnumber1自動健康檢查之socket連線逾時時間。
healthchecks.active.healthy.http_statusesarray of number[200, 302]會被作為檢查結果成功或被判定狀態為健康的回應狀態碼。
healthchecks.active.healthy.intervalnumber0對健康目標做自動健康檢查的時間區間(單位為秒)。如設定為0則代表不會對健康目標執行健康檢查之動作。
healthchecks.active.healthy.successesnumber0HTTP成功到達會被認定狀態健康的次數。(根據 healthchecks.active.healthy.http_statuses 設定的狀態做判定)
healthchecks.active.https_snistring使用HTTPS執行自動健康檢查時用作SNI(服務器名稱標識)的主機名。當使用IP配置目標時,此功能特別有用,以便可以使用正確的SNI驗證目標主機的證書。
healthchecks.active.concurrencynumber10同時做健康檢查之目標數量。
healthchecks.active.typestringhttp做健康檢查時使用之協定。可接受 tcphttphttpsgrpc 以及 grpcs
healthchecks.passive.unhealthy.http_failuresnumber0HTTP失敗到達會被認定狀態不健康的次數。(根據 healthchecks.passive.unhealthy.http_statuses 設定的狀態做判定)
healthchecks.passive.unhealthy.http_statusesarray of number[429, 500, 503]會被作為檢查結果失敗或被判定狀態為不健康的回應狀態碼。
healthchecks.passive.unhealthy.tcp_failuresnumber0TCP失敗到達會被認定狀態不健康的次數。
healthchecks.passive.unhealthy.timeoutsnumber0連線逾時到達會被認定狀態不健康的次數。
healthchecks.passive.typestringhttp做健康檢查時使用之協定。在被動檢查中, httphttps 被認為是相等的。可接受 tcphttphttpsgrpc 以及 grpcs
healthchecks.passive.healthy.successesnumber0HTTP成功到達會被認定狀態健康的次數。(根據 healthchecks.passive.healthy.http_statuses 設定的狀態做判定)
healthchecks.passive.healthy.http_statusesarray of number[200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308]會被作為檢查結果成功或被判定狀態為健康的回應狀態碼。
healthchecks.thresholdnumber0健康目標占整體上游服務被判定為健康狀態的最小百分比。
tagsarray of string可填入任意字串來做分類使用。
host_headerstring會在代理請求代入標頭 Host 的值。
client_certificatestring當對上游服務做TLS handshaking時可做為用戶端憑證做認證使用。必須填入憑證的ID。

預覽頁面#

點擊上游服務名稱後即會跳出預覽視窗。可以看到上游服務詳細資訊和其擁有的目標資訊,較為特殊的是有此上游服務之健康狀態顯示在資訊頁面的左上方。

預覽頁面

info

上游服務的健康檢查設定是根據 healthchecks.thredshold 以及目標中 weight(capacity) 的百分比設定決定上游服務是否健康。
舉例來說,現在擁有一個上游服務設定 healthchecks.thredshold=55,而它擁有5個目標,每個目標設定 weight=100,所以此上游服務的總權重為500。
當其中有一個目標發生問題時,代表 20% 的 capacity 是不健康的 (100/500 weight),但還是低於設定的 threshold,因此其餘目標會接收不健康的目標流量。但如果其中3個目標都發生問題時,這時 60% 的 capacity 已經高於設定的55%,因此此上游服務會被自動標記成不健康的狀態。
當上游服務被標記成不健康狀態時,任何要求的回覆都會是錯誤狀態,而這時目/服務會開始修復這一連串的失敗狀態。當目標復原其失敗狀態並且將錯誤率降低至門檻,上游服務的健康狀態也將會更新。

編輯及刪除#

如想對某個特定上游服務做編輯或刪除可按右邊的動作按鈕。

編輯與刪除

按下刪除鍵後會出現確認對話視窗,選擇刪除即可刪除。

刪除

選擇列表左方的框,再選擇右上角的垃圾筒,可以一次多筆刪除。

多筆刪除

note

多筆刪除會直接動作,不會有確認對話框出現。