在真正開始使用之前,先了解了一下在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兩種資料庫...