tags: 微服務網關,api網關,kong,健康檢查,負載均衡
grammar_cjkRuby: true
為什么是 kong?
- 見名其知意
kong 不是“空”的拼音,是英文,翻譯過來是“港”。什么意思,意思是kong是個港口,用來停船的。我想大概寓意是kong是一個掛靠服務的港口。說簡單點就是服務的集中出入口。
接下來看張圖:
kong使用前后項目結構 - 剝離基礎服務
使用kong之前每個服務中都可能包含一些通用的基礎功能,認證、健康檢查、斷路器、限流、監控、日志、轉換...... 架構中有了kong這些公用的基礎功能就不用重復出現在不同的項目中了。這些基礎服務通過可配置是否啟用 - 熱插拔的擴展
事實上,擁有以上功能的開源項目多了去了。為啥要選kong了?kong的優勢在于其強大的可熱插拔的插件擴展功能
Kong是一個在Nginx中運行的Lua應用程序,并且可以通過lua-nginx模塊實現。Kong不是用這個模塊編譯Nginx,而是與OpenResty一起發布,OpenResty已經包含了lua-nginx-module。OpenResty 不是 Nginx的分支,而是一組擴展其功能的模塊。
這為可插拔架構奠定了基礎,可以在運行時啟用和執行Lua腳本(稱為“插件”)。因此,我們認為Kong是微服務架構的典范:它的核
心是實現數據庫抽象,路由和插件管理。插件可以存在于單獨的代碼庫中,并且可以在幾行代碼中注入到請求生命周期的任何位置。
這是摘自官網介紹的一段。核心就是kong可以簡單的通過lua腳本實現擴展,熱插拔。
學習路徑
既然選用kong就要從他的優勢開始,接下來將通過建設服務監控的過程來帶大家熟悉服務網關kong。
- kong 認識
- kong docker安裝(快速使用)
- kong centos安裝(深入了了解)
- kong ui 可視化管理系統KONGA
- 結合ui介紹kong 核心概念
- 簡單配置一個服務demo
- kong 健康檢查與斷路由
- kong 插件-服務監控
- kong 插件-鏈路追蹤