kong網關: service+route+upstream

 

對於剛開始學習kong網關,總是一腦子漿糊迷迷糊糊。雖然已經安裝好,但卻不知道接下來如何下手,

因爲包含項太多:service、routes、upstream、consumer、plugins等等。一時不知從何下手配置服務。

最後又重新打開kong網關的基本介紹,看完之後決定先把問題簡單化。所以第一步就先搭建一個service和route,

隨後又構建了upstream。這三部分完成之後,一個基本的網關功能就算實現了。

簡單畫了一個流程圖,基本表現了kong網關的調用過程。一共分爲五部分:用戶客戶端、routes、services、upstream、target服務端。

客戶端就是調用方,

routes路由匹配客戶端的請求規則。匹配成功後分配到service層。一個路由指向一個service,一個service可以被多個不通規則的路由routes指向。

  訪問地址是kong網關地址+代理端口(默認http:8000,https:8443)

service服務是一個抽象服務層,可以用於指向具體物理服務(target),也可以指向upstream用於實現物理服務的負載效果。一個service對於upstream、target都是一對一的關係。

upstream主要用於實現kong的負載功能,一個service匹配到一個upstream後,upstream可以指向多個target服務以此來實現負載的效果。

target服務端指的就是最後的物理服務,當然也可以是其他的虛擬服務。

接下來開始搭建,因爲上面的每一層都需要依賴下一層進行配置,所以我們可以從低層開始配置(也開始先創建高層,隨後再行修改配置)

注意:以下新增命令都是post請求,如果使用get請求會返回已創建的信息;kongIp指的是kong網關的地址。http請求使用8001端口,https請求使用8444端口。

一、upstream

命令:http://kongIp:8001/upstreams/

主要參數:name(不能爲空,service指向時使用),

      algorithm(負載規則):默認round-robin。目前支持三種:round-robinconsistent-hashing, or least-connections

      healthchecks.active.type:檢查目標服務器target的健康方式。一共三類tcp、http、https

      healthchecks.active.http_path:使用http協議檢查target服務是否健康時綁定的路徑。該路徑可以指向target服務的一個請求地址,用於檢測

      target:指向具體得服務地址或者其他中間件服務。可匹配多個target。在新增target時需設定weight(權重),用於負載。

        每個新建的target會有一個health指標,用於標記target是否聯通健康。就是通過 healthchecks.active.typehealthchecks.active.http_path以及其他參數監測。

二、services

命令:http://kongIp:8001/services

主要參數:name:可爲空,創建後生成一個id。routes通過id綁定service

                  protocol:請求upstream的協議(http、https)。默認http

     host:upstream name(一定要和upstream名稱保持一致)

     port:請求upstream的端口(虛擬端口,可自定義)。默認80

     path:請求upstream的路徑。

 三、routes

命令:http://kongIp:8001/routes

主要參數:name:route Name

     protocols:允許訪問該路由的協議;http\https。默認兩個都允許

     methods:匹配該路由的http方法,GET\POST

       hosts: 匹配該路由的host地址,可以是ip也可以是域名。可以配置多個。如果是域名的話注意需要有域名解析

     paths:匹配路由訪問的路徑

        service.id:指向服務的id

以上就是這三部分構造的主要參數值。還有未列出的參數值大多有默認值。需要的話可自行添加修改

ps:

routes:http://centos7.kong:8000/land

service:http://landservice:9000/

upstream:http://land_up

target:http://192.168.60.1:9003/land

以上是我配置的信息,配置完成後可以通過訪問routes地址直接訪問到http://192.168.60.1:9003/land應用服務

 

主要通過這邊文章對kong網關的配置先有個簡單的梳理,有個大概的流程模型。後續再針對每個模塊單獨進行整理。

 

 


人生在世,雜事七八;飯要少喫,事要多知;抽個時間,總結一下;樂在分享,自在提升

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章