Kong 负载均衡

负载均衡是一种将API请求流量分发到多个上游服务的方法。负载均衡可以提高整个系统的响应速度,通过防止单个资源过载而减少故障。

在以下示例中,您将使用部署在两台不同服务器或上游目标上的应用程序。Kong网关需要在这两台服务器之间进行负载均衡,以便如果其中一台服务器不可用,它会自动检测问题并将所有流量路由到正常工作的服务器。

上游指的是位于Kong网关后面的服务应用程序,客户端请求将被转发到这些应用程序。在Kong网关中,一个上游表示一个虚拟主机名,并可以用于对传入请求进行健康检查、断路和负载均衡,将其分发到多个目标后端服务。

在本节中,您将重新配置之前创建的服务(example_service),将其指向一个上游而不是特定的主机。在我们的示例中,上游将指向httpbin.org和httpbun.com这两个不同的目标。通常情况下,目标会是在不同主机系统上运行的相同后端服务的实例。

这是一个说明设置的图示:

开启负载均衡

在本节中,您将创建一个名为example_upstream的上游,并向其添加两个目标。

先决条件

本章节是"开始使用Kong"的系列的一部分。为了获得最佳体验,建议您从头开始按照系列进行操作。

从介绍"获取Kong"开始,其中包含运行本地Kong网关所需的先决条件和说明。

该指南的第二步"服务和路由"包括安装本系列中使用的模拟服务的说明。

如果您还没有完成这些步骤,请在继续之前完成它们。

启用负载均衡的步骤

1. 创建上游(upstream)

使用管理API创建一个名为example_upstream的上游:

Lua 复制代码
curl -X POST http://localhost:8001/upstreams \
 --data name=example_upstream

2. 创建上游目标

为example_upstream创建两个目标。每个请求都会创建一个新的目标,并设置后端服务的连接端点:

Lua 复制代码
curl -X POST http://localhost:8001/upstreams/example_upstream/targets \
 --data target='httpbun.com:80'
curl -X POST http://localhost:8001/upstreams/example_upstream/targets \
 --data target='httpbin.org:80'

3. 更新服务

在本指南的"服务和路由"部分,您创建了一个名为example_service的服务,该服务指向一个具体的主机,即http://httpbun.com。现在您将修改该服务,使其指向上游而不是具体的主机:

Lua 复制代码
curl -X PATCH http://localhost:8001/services/example_service \
 --data host='example_upstream'

您现在有一个包含两个目标httpbin.org和httpbun.com的上游,以及一个指向该上游的服务。

4. 验证

通过使用Web浏览器或CLI访问路由http://localhost:8000/mock来验证您配置的上游是否正常工作。

相关推荐
wclass-zhengge1 天前
SpringCloud篇(服务网关 - GateWay)
spring boot·spring cloud·gateway
H愚公移山H1 天前
Spring Cloud Alibaba [Gateway]网关。
java·gateway·springcloud
醇氧1 天前
【spring 】Spring Cloud Gateway 的Filter学习
学习·spring·gateway
蚰蜒螟1 天前
Spring gateway 路由 配置在数据库
数据库·spring·gateway
因我你好久不见2 天前
解决绿盟漏洞扫描 gateway、nacos、springboot tomcat检测到目标主机可能存在缓慢的HTTP拒绝服务攻击问题
spring boot·http·gateway
moxiaoran57535 天前
搭建Spring gateway网关微服务
spring·微服务·gateway
飞天大拖把5 天前
Zuul和GateWay
gateway
.生产的驴7 天前
SpringCloud Gateway网关路由配置 接口统一 登录验证 权限校验 路由属性
java·spring boot·后端·spring·spring cloud·gateway·rabbitmq
菜菜-plus8 天前
分布式,微服务,SpringCloudAlibaba,nacos,gateway,openFeign
java·分布式·微服务·nacos·gateway·springcloud·openfeign
七月在野,八月在宇,九月在户8 天前
前端--> nginx-->gateway产生的跨域问题分析
前端·nginx·gateway