kong--api網關入門


API網關主要應用在微服務架構上,用於統一管理服務通用的功能(監控,限流,鑒權等)

API網關很多,選擇入門kong是因為kong是開源的還可以給服務提供各種插件,使用方便

簡單理解:Kong = OpenResty + Nginx + Lua

kong基本組成如下:

admin api

通過API 管理 + 加載插件

LUA

OpenResty是基於Ngnix和Lua

Nginx

kong的規則創建和執行順序:

規則創建順序: upstream-> targets->service->route

node ip+port == pod ip +8080

規則執行順序: route (+path)-> service (host = upstream 的name) -> targets

upstream 是對上游服務器的抽象,用於負載均衡;target 代表了一個物理服務,是 ip + port 的抽象,也就是目標服務器;service 是抽象層面的服務,他可以直接映射到一個物理服務(host 指向 ip + port),也可以指向一個 upstream 來做到負載均衡;route 是路由的抽象,他負責將實際的 request 映射到 service。

1.創建upstream:

curl -X POST ip:8001/upstreams -d 'name=upstream-auth'

2.關聯目標地址:

curl -X POST ip:8001/upstreams/upstream-auth/targets -d 'target=ip:port ' -d 'weight=100'

upstream 和 target :1 對 n

3.配置service,通過host與upstream關聯

curl -i -X POST ip:8001/services/ --data 'name=auth' --data 'host=upstream-auth'

service 和 upstream :1 對 1 或 1 對 0 (service 也可以直接指向具體的 target,相當於不做負載均衡)

4.配置路由

curl -i -X POST ip:8001/services/auth/routes --data 'name=route-auth' --data 'hosts[]=up.hello' --data 'paths[]=/h/auth-srv'

service 和 route:1 對 n

訪問方式:http://up.hello:8000/h/auth-srv

Kong默認監聽端口:

8000,監聽來自客戶端的HTTP流量,轉發到你的upstream服務上。

8001,Kong的HTTP監聽的api管理接口。

8443,監聽HTTPS的流量,功能跟8000一樣。可以通過配置文件禁止。

8444,Kong的HTTPS監聽的API管理接口。

kong的使用方案:

 

 

 

                                                                  如有雷同自行理解為轉載至雷同文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM