Kong入门指南 - 设置智能负载平衡

在本主题中,您将学习配置上游服务,并创建多个目标来进行负载平衡。

如果根据入门指南学习,请确保已完成"Kong入门指南 - 使用身份验证的安全服务" 。

什么是上游?

上游指的是你的上游API/服务,是客户端到网关请求转发的目标服务。在Kong Gateway中,一个上游对象代表一个虚拟主机名,可用于运行状况检查,断路和负载平衡多个服务(目标)上的传入请求。

在本主题中,您将配置先前创建的服务(example_service)指向上游而不是主机。在我们的例子而言,上游将指向两个不同的目标,httpbin.org和mockbin.org。在实际环境中,上游将指向在多个系统上运行的同一服务。

这是说明设置的图:
Kong入门指南 -  设置智能负载平衡

为什么要在上游目标之间实现负载平衡?

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

配置上游服务

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

  1. 在端口上调用Admin API 8001并创建名为的上游upstream。

使用cURL:

$ curl -X POST http://<admin-hostname>:8001/upstreams \
 --data name=upstream
  1. 更新您先前创建的服务以指向该上游。

使用cURL:

 $ curl -X PATCH http://<admin-hostname>:8001/services/example_service \
 --data host='upstream'
  1. 向上游添加两个目标,每个目标都有端口80:mockbin.org:80和httpbin.org:80。

使用cURL:

$ curl -X POST http://<admin-hostname>:8001/upstreams/upstream/targets \
 --data target=’mockbin.org:80’

 $ curl -X POST http://<admin-hostname>:8001/upstreams/upstream/targets \
 --data target=’httpbin.org:80’

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

验证上游服务

  1. 配置上游后,通过http://:8000/mock使用Web浏览器或CLI 访问路由来验证其是否正常工作。
  2. 继续访问端点,站点应从更改httpbin为mockbin。
上一篇:转 Nginx connect() failed (110: Connection timed out)


下一篇:nginx 负载均衡的配置