閘道器Kong的介紹使用例項

2021-10-08 05:15:31 字數 2755 閱讀 4525

幫助文件

主要特性:

主要有元件:

kong server :基於nginx的伺服器,用來接收api請求。

apache cassandra/postgresql :用來儲存運算元據。

預設埠:

名詞介紹:

route:是請求的**規則,按照hostname和path,將請求**給service。

services:是多個upstream的集合,是route的**目標。

consumer:是api的使用者,裡面記錄使用者的一些資訊。

plugin:是外掛程式,plugin可以是全域性的,繫結到service,繫結到router,繫結到consumer。

certificate:是https證書。

sni:是網域名稱與certificate的繫結,指定了乙個網域名稱對應的https證書。

upstream:是負載均衡策略。

target:是最終處理請求的backend服務。

測試用api原始碼:

}訪問埠:

service配置項說明:屬性

描述name(必填)

服務名稱.

tags(可選)

可選地向服務新增標記

url(可選)

將協議、主機、埠和路徑立即設定成簡短的屬性。這個屬性是只寫的(管理api從來不「返回」url)

protocol(必填)

該協議用於與upstream通訊。它可以是http(預設)或https。

host(必填)

upstream伺服器的主機。

port(必填)

upstream伺服器端口。預設為80

path(可選)

在向upstream伺服器請求中使用的路徑。預設為空。

retries(可選)

在**失敗的情況下執行的重試次數。預設值是5。

connect_timeout(可選)

建立到upstream伺服器的連線的超時時間。預設為60000。

write_timeout(可選)

將請求傳送到upstream伺服器的兩個連續寫操作之間的超時時間。預設為60000。

read_timeout(可選)

將請求傳送到upstream伺服器的兩個連續讀取操作之間的超時時間。預設為60000。

router的配置項說明屬性

描述name(可選)

定義名稱

tags(可選)

向路由新增標記

protocols(可選)

這條路線應該允許的協議列表。預設情況下,它是「http」、「https」,這意味著路由接受這兩種方式。當設定為「https」時,http請求會被請求公升級到https。通過表單編碼,符號是協議=http&協議=https。使用json,使用陣列。

methods(半可選)

與此路由相匹配的http方法列表。例如: [「get」, 「post」].至少有乙個主機、路徑或方法必須被設定。用表單編碼引數是methods=get&methods=options。使用json,使用陣列。

hosts(半可選)

與此路徑匹配的網域名稱列表。例如:example.com. 至少有乙個主機、路徑或方法必須被設定。用表單編碼引數是 hosts=foo.com&hosts=bar.com。使用json,使用陣列。

paths(半可選)

與此路徑相匹配的路徑列表。例如: /my-path.至少有乙個主機、路徑或方法必須被設定。用表單編碼引數是 paths=/foo&paths=/bar. 使用json,使用陣列。

regex priority(可選)

當多個路由同時使用正規表示式匹配某個給定請求時,用來選擇哪個路由解析該請求的數字。當兩個路由匹配路徑並且具有相同的regex_優先順序時,將使用較舊的路由(最低建立位置)。注意,非regex路由的優先順序不同(較長的非regex路由在較短的路由之前匹配)。預設為0。

strip_path(可選)

當通過其中一條路徑匹配路由時,從上游upstream請求url中去掉匹配字首。預設值為true。

preserve_host(可選)

當通過乙個主機網域名稱匹配一條路由時,在upstream請求頭中使用請求主機頭。預設設定為false,upstream主機頭將是服務主機的主機頭。

注意事項:

客戶端請求閘道器,優先到router,然後再到service,乙個service可以對應多個router,router裡面的host為test.example.com,這個地方要配置本機的dns,進行解析

測試結果:

新增router service鑑權

先找到目標路由、新增對應的外掛程式,details新增組、credentials新增使用者名稱和密碼,當訪問此介面時會提示輸入密碼。支援jwt,oaut2等認證方式。

docker安裝kong閘道器的方法示例

1 建立乙個docker network docker netwytzkfucork create kong net 2 建立資料庫 以postgresql為例 docker run d name kong database network kong net p 5432 5432 e postgr...

Activit各個閘道器使用簡單介紹

一 排他閘道器 exclusive gateway 排他閘道器又叫互斥閘道器,條件計算為true的順序流會被選擇繼續流程,有且只有一條出口,如果出現多個條件為true,則會預設選擇第一條true來執行,如果沒有條件輸出true,流程走到這一步的時候則會報錯 二 並行閘道器 parallel gate...

閘道器的簡單介紹

閘道器 gateway 乙個網路連線到另乙個網路的 關口 閘道器實質上是乙個網路通向其他網路的ip位址。在沒有路由器的情況下,兩個網路之間是不能進行tcp ip通訊的,即使是兩個網路連線在同一臺交換機 或集線器 上,tcp ip協議也會根據子網掩碼判定兩個網路中的主機處在不同的網路裡。而要實現連個網...