Kong具有动态负载均衡的功能,官方提供了一系列的API接口,主要关注在upstreams、targets、services和routers
API实现方式
localhost为kong部署地址域名或IP,8001为kong的http管理端口(8444为kong的https管理端口)
API官方描述
- 查看upstreams
curl -X GET http://localhost:8001/upstreams
- 创建upstreams
可以去官网查看丰富的参数,如算法支持"consistent-hashing", "least-connections", "round-robin". Defaults to "round-robin".
curl -X POST http://localhost:8001/upstreams --data "name=lb_api"
- 创建targets
比如我想实现192.168.1.10:2301与192.168.1.13:2302的负载
curl -X POST http://localhost:8001/upstreams/lb_api/targets --data "target=192.168.1.10:2301" --data "weight=100"
curl -X POST http://localhost:8001/upstreams/lb_api/targets --data "target=192.168.1.13:2302" --data "weight=100"
- 创建service
host只想创建的upstream就好,这是具体的执行层
curl -X POST http://localhost:8001/services --data "name=userserver" --data "host=lb_api"
- 创建路由
现在只需要创建路由到该service就好了
curl -X POST http://localhost:8001/services/userserver/routes --data "name=userrouter" --data "paths=/user" --data "methods=GET"
这样就完成了负载均衡的整个配置,具体参数可以根据实际情况进行相应的调整
Konga配置
截图不方便,都是标准的RESTFUL格式接口的界面化呈现,这个就大家去摸索,比API简单很多