kong配置upstream實現簡單的負載均衡



[前言]

本文以service和route知識為基礎,通過配置upsream實現nginx的最基礎負載均衡。

我們最終通過Kong API將實現的訪問效果如下:

環境說明

# 開放兩個測試的微服務接口
http://myhost1:8881
http://myhost2:8882

通過konga實現

1. 配置upstream

打開Konga左側列表菜單中的UPSTREAMS, 點擊 CREATE UPSTREAM

這里,只需要寫一個Name,保證Service的配置可以正確匹配到我們就可以了。

既然是負載均衡,自然少不了后端服務,接下來配置在Upstreams進行負載均衡的終端——Targets
找到我們剛才創建的upstream,然后點擊DETALS

Targets to + ADD TARGET,填寫測試接口信息,完成對UPSTREAM的配置

2. 配置Service發布

配置一個Service,字段Url填寫我們剛剛配置的UpstreamName

3. 配置Route,匹配規則

提示: 在輸入 hosts,paths,methods時,要按回車!!!

4. 驗證結果

瀏覽器測試
通過Shift+F5 或 Ctrl+Shift+R,不使用緩存進行請求測試

命令行API 測試

$ curl -i -X GET --url http://localhost:8000 --header 'Host: test.app.com'

通過 Kong Admin API實現

route根據paths轉發給相應的service根據host(upstream的name)轉發給 upstream負載均衡至targets,這就是kong的負載均衡執行流程。

下面再學習一下通過Admin API如何完成負責均衡配置

1. 配置upstream

創建upstream

$ curl -X POST localhost:8001/upstreams \
--data "name=app.com"

為upstream配置target

$ curl -X POST localhost:8001/upstreams/app.com/targets \
--data "target=myhost1:8881" \
--data "weight=100"

$ curl -X POST localhost:8001/upstreams/app.com/targets \
--data "target=myhost2:8882" \
--data "weight=100"

等同於創建了如下配置:

upstream upstream.api {
    server myhost1:8881 weight=100;
    server myhost2:8882 weight=100;
}

2. 配置service

$ curl -X POST localhost:8001/services \
--data "name=my-app-service" \
--data "host=app.com"

3. 配置route(more)

$ curl -X POST localhost:8001/services/a9b8a3e9-826b-47fa-ae78-0fcf111662a1/routes \
--data "name=test-app-route" \
--data "hosts[]=test.app.com" \
--data 'strip_path=false'

或者

$ curl -X POST localhost:8001/routes \
--data "name=test-app-route" \
--data "hosts[]=test.app.com" \
--data "service.id=a9b8a3e9-826b-47fa-ae78-0fcf111662a1" \
--data 'strip_path=false'

[sleepy↓]


免責聲明!

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



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