Kong系列(二) Kong元件使用

2021-08-20 09:46:56 字數 4267 閱讀 4971

在真正開始使用之前,先了解了一下在kong中的所用元件,並對他們的關係做了乙個初步了解,

下面就將一下kong中常用的元件簡單做下了解

service:

service 顧名思義,就是我們自己定義的上游服務,通過kong匹配到相應的請求要**的地方

service 可以與下面的route進行關聯,乙個service可以有很多route,匹配到的route就會**到service中,

當然中間也會通過plugin的處理,增加或者減少一些相應的header或者其他資訊

service可以是乙個實際的位址,也可以是kong內部提供的upstream object

route:

route 字面意思就是路由,實際就是我們通過定義一些規則來匹配客戶端的請求,每個路由都會關聯乙個service,

並且service可以關聯多個route,當匹配到客戶端的請求時,每個請求都會被**到其配置的service中

route作為客戶端的入口,通過將route和service的松耦合,可以通過hosts path等規則的配置,最終讓請求到不同的service中

例如,我們規定api.example

.com 和 api.service

.com的登入請求都能夠**到123.11

.11.11:8000埠上,那我們可以通過hosts和path來路由

首先,建立乙個service s1,其相應的host和port以及協議為

.11.11:8000

然後,建立乙個route,關聯的service為s1,其hosts為[api.service

.com, api.example

.com],path為login

最後,將網域名稱api.example

.com和api.service

.com的請求轉到到我們的kong集群上,也就是我們上面一節中通過nginx配置的請求位址

那麼,當我們請求api.example

.com/login和api.service

.com/login時,其通過route匹配,然後**到service,最終將會請求我們自己的服務。

upstream:

這是指您自己的api /服務位於kong後面,客戶端請求被**到該伺服器。

相當於kong提供了乙個負載的功能,基於nginx的虛擬主機的方式做的負載功能

當我們部署集群時,乙個單獨的位址不足以滿足我們的時候,我們可以使用kong的upstream來進行設定

首先在service中指定host的時候,可以指定為我們的upstream定義的hostname

我們在建立upstream時指定名字,然後指定solts(暫時不確定具體作用),upstream可以進行健康檢查等系列操作。這裡先不開啟(還沒有研究)

然後我們可以再建立target型別,將target繫結到upstream上,那麼基本上我們部署集群時,也可以使用

target:

target 就是在upstream進行負載均衡的終端,當我們部署集群時,需要將每個節點作為乙個target,並設定負載的權重,當然也可以通過upstream的設定對target進行健康檢查。

當我們使用upstream時,整個路線是 route >> service >> upstream >> target

api:

用於表示您的上游服務的傳統實體。自0.13

.0起棄用服務。這裡就不在深入了解

consumer:

consumer 可以代表乙個服務,可以代表乙個使用者,也可以代表消費者,可以根據我們自己的需求來定義

可以將乙個consumer對應到實際應用中的乙個使用者,也可以只是作為乙個service的請求消費者

consumer具體可以在plugin使用時再做深入了解

plugin:

在請求被**到上游api之前或之後執行kong內的動作的外掛程式。

例如,請求之前的authentication或者是請求限流外掛程式的使用

plugin可以和service繫結,也可以和route以及consumer進行關聯。

具體的使用可以根據在建立plugin以及後面的修改時,具體與consumer,service,route繫結關係時,可參考

另外,還有一些其他的物件,本次沒有具體使用,所以不再做具體的研究,如果使用可以到官網提供的資料具體檢視

service還有一些其他引數,可根據具體需求定製。官網資料

修改原來的host到我們自己的upstream

route還有一些其他引數,可根據具體需求定製。官網資料

本次實際使用中,只用最基本的內容,等到後續再有其他部分的使用時,會再做補充

- 配置plugin

- 配置consumer

- kong管理使用,目前0.13增加了service和route,並且將之前的api廢除,所以之前可用的kong-dashboard,目前有好多地方沒有更新,所以先不使用

使用Docker安裝Kong 玩轉Kong閘道器

如果有較舊的 docker 版本稱為 docker 或 docker engine 如果已安裝這些程式,請解除安裝它們以及相關的依賴項。sudo yum remove docker docker client docker client latest docker common docker lat...

Kong系列 13 官方開源外掛程式介紹

kong官方預置大量的外掛程式,可以在kong hub檢視官方外掛程式,其中有三類外掛程式,官方開發的開源外掛程式 第三方開發的開源外掛程式 適用於kong enterprise的收費外掛程式。其中官方開發的開源外掛程式有35個。kong安裝完成後已經預置了開源外掛程式的 可以在 usr local...

微服務Kong(二) 快速入門

在本節中,您將學習如何管理您的kong例項。首先,我們將指導您如何啟動kong,以便您能訪問kong的restful形式的管理介面,您可以通過它來管理您的api,consumers等。通過管理型api傳送的資料將儲存在kong的資料庫中 kong支援postgresql和cassandra兩種資料庫...