Kong网关快速入门指南

这篇博客是Kong网关的快速入门指南,详细介绍了如何添加Service、Route、配置负载均衡,以及如何通过Rate Limiting、Proxy Cache插件提升性能。重点讲解了Kong的认证机制,包括Key Auth、HMAC Authentication的设置与测试,强调了安全性和防止攻击的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kong网关快速入门指南

前言

本文描述了Kong网关快速入门指南,作为学习和使用Kong网关参考。

工具和环境:

  • Kong Communiity 2.5

  • Konga 0.14.9

  • 本文Kong地址:http://192.168.0.100:8000

假设已安装和配置Kong网关和Konga控制台。

参见:

Kong网关快速入门指南

为简单起见,下面操作都在Konga控制台上操作完成。

Kong网关架构

Kong网关架构

说明:

  • API Client调用某个API时,请求会经过Consumer、Route、Service、Load Balancer,最后分发到某个Upstream。
  • Consumer代表调用API的客户端,可能是一个App,Web或Service。Consumer用来控制谁可以来调用某个API。
  • Service代表某个微服务或一组API。
  • Route用来对Service作路由控制。一个Service可以有多个Route。
  • Load Balancer对Service的多个Upstream作负载均衡。对反向代理(Reverse Proxy)来说,后端服务被视作Upstream。
  • Kong网关通过plugin来支持认证、安全控制、流量控制、数据转换和日志等。

参见:

暴露服务

对应场景:一个新的微服务上线。

参见:

添加Service

在Konga中,打开Services,新建Service。

Name: `demo`
Description: `REST API Mock Demo`
Url: `http://httpbin.org`

另外还可以设置:

  • Retries - 失败后重试次数,默认值为5
  • Connect timeout - 建立连接超时,默认值为60000ms,即60s
  • Write timeout - 写超时,默认值为60000ms,即60s
  • Read timeout - 读超时,默认值为60000ms,即60s

这里都保持默认值。

需要为Service配置Route后才能访问该Service。

添加Route

在新建的Service下,添加Route。

Name: `demo-route`
Paths: `/demo` # Press <Enter> to add
Protocols: `http`

说明:

  • 一个Route可以配多个Path,也就是多个Path都可以分发到同一个Service。
  • 通常会对Path命名进行规范管理。

在浏览器中访问http://192.168.0.100:8000/demo/anything,返回结果和直接访问http://httpbin.org/anything 是类似的。

保护你的服务

对应场景:服务流量控制。

参见

添加Rate Limiting插件

在该Service下,添加插件,选择 Traffic Control / Rate Limiting。

Consumer: # 保持为空,表示对所有Consumer生效
minute: 5 # 限制每分钟5次调用,只作演示用

说明:

  • Rate Limiting插件支持按每秒/分钟/小时/天/月/年进行限制,实际使用时请根据实际情况设定。
  • 不指定Consumer时,根据ip作限制。

在浏览器中不断刷新http://192.168.0.100:8000/demo/anything ,超过限制次数后返回错误信息:

{
   
    "message": "API rate limit exceeded"
}

等到限制窗口结束后,又可以正常使用。

用Postman或Insomina REST Client来测试http://192.168.0.100:8000/demo/anything ,观察Response headers。

示例:

ratelimit-limit: 5
ratelimit-remaining: 0
ratelimit-reset: 28
retry-after: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值