您好,登錄后才能下訂單哦!
Kong 的官方有很多詳細的參考說明,比如配置文件、命令行、Admin API、代理、負載均衡,接下來我們簡單看一下,都提供什么內容。
本文主要基于 Kong 1.3 版本進行描述,如有更新,請查看最新文檔。
通過對配置文件的 深入理解,可以優化 Kong 集群、使用的數據庫、配置 Nginx ,
官方的參考資料是 Configuration Reference
Kong 在啟動時,可以通過 -c
或者 --conf
參數來指定配置文件,比如:
kong start -c /path/to/kong.conf
可以使用 check 命令來校驗配置文件的語法正確性,
$ kong check <path/to/kong.conf>
configuration at <path/to/kong.conf>
is valid
Kong 的配置在加載的時候也會去找同名的環境變量,所有也可以通過環境變量來配置 Kong,而且環境變量的優先級高于配置文件。可以通過環境變量來配置 Kong 這樣方便了基于容器的部署和運行。如果要使用環境變量,需要以 KONG_
字段開頭。
所提供的CLI(命令行接口)允許您啟動、停止和管理 Kong 實例。CLI 可以管理本地節點(如在當前機器上)。可以參考官網文檔
CLI Reference
主要由如下命令
所有的命令都可以使用如下參數
Admin API 的說明可以參考官網文檔:
Admin API Reference
Admin API 接受 2 兩種連接類型在每個終端。
分別是
共有 9 個對象,分別是:
在本文檔中,我們將通過詳細解釋Kong的路由功能和內部工作原理來介紹它的代理功能。
Kong 公開了幾個接口,可以通過兩個配置屬性進行調整:
Kong 經常用到的術語有:
Kong 為多個后端服務提供了多種負載平衡請求的方法: 一種簡單的基于 DNS 的方法,另一種是更動態的環形平衡器,該平衡器還允許在不需要DNS服務器的情況下進行服務注冊。
負載均衡可以參考官網文檔
Load Balancing Reference 來了解。
當使用基于 DNS 的負載平衡時,后端服務的注冊是在 Kong 之外完成的,而 Kong 只接收來自 DNS 服務器的更新。
如果主機名沒有解析為上游名稱或 DNS 主機文件中的名稱,則使用包含主機名(而不是IP地址)的主機定義的每個服務都將自動使用基于 DNS 的負載平衡。
DNS 記錄 ttl 設置(生存時間)決定信息刷新的頻率。當使用 ttl 為 0 時,每個請求都將使用自己的 DNS 查詢進行解析。這將帶來性能損失,但是更新/更改的延遲將非常低。
A 記錄
一個 A 記錄對應一個或者多個 IP 地址,因此,當主機名解析為 A 記錄時,每個后端服務必須有自己的IP地址。
因為沒有權重信息,所以所有條目在負載平衡器中都將被視為同等權重,并且平衡器將進行直接的循環。
SRV 記錄
SRV記錄包含所有IP地址的權重和端口信息。后端服務可以通過IP地址和端口號的唯一組合來標識。因此,一個IP地址可以在不同的端口上承載相同服務的多個實例。
因為權重信息是可用的,所以每個條目將在負載平衡器中獲得自己的權重,并執行加權循環。
DNS 的優先級
1、前面解析的最后一個成功類型
2、SRV 記錄
3、A記錄
4、CNAME 記錄
這些可以在配置文件的 dns_order
進行配置。
使用 Ring-balancer 時,后端服務的添加和刪除將由 Kong 處理,不需要 DNS 更新。Kong 將作為服務注冊處。節點可以通過一個HTTP請求添加/刪除,并將立即啟動/停止接收流量。
配置 Ring-balancer 工作需要有 Upstream 和 target 兩個實體。
virtual hostname
,可用于路由的 host
字段,例如一個 upstream 是 weather.v2 會收到服務 host=weather.v2.service 的所有請求。本來大致講述了 Kong 的配置文件、命令行、代理、負載均衡等內容。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。