参考
- Kong入门学习实践(1)基础概念快览
- Kong简介
什么是Kong
Kong的原意为金刚,用来形容强健、力量、坚固和稳定,可以想想电影中的金刚,也不难看出Kong的Logo是一只金刚了。
Kong是一款基于Nginx_Lua模块写的高可用,易扩展由Mashape公司开源的API Gateway项目。由于Kong是基于Nginx的,所以可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。
相对于纯Nginx ,Kong具有以下优点:
(1)高性能:亚毫秒级处理延迟,可支持关键任务用例和高吞吐量。
(2)可扩展性:可插拔的体系结构,可通过Kong的Plugin SDK扩展 Kong。
(3)可移植性:Kong 可以部署在任何平台、或者云。
Kong 官网:https://konghq.com 插件介绍,帮助文档等。
Kong 源码:https://github.com/Kong/kong
Kong 桌面管理工具:https://github.com/ajaysreedhar/kongdash 有linux版本,windows版本,mac版本
常见的API网关有:OpenResty, Kong, APISIX, Spring Cloud Gateway, Ocelot 等。UI管理界面

Kong UI管理工具:https://github.com/pantsel/konga 浏览器UI管理工具
Kong UI管理工具:https://github.com/PGBI/kong-dashboard 浏览器UI管理工具
Kong的插件
插件地址:https://konghq.com/plugins/
Kong分为了企业版和社区版,企业版是需要收费的,具体差异体现在插件上,企业版的插件比社区版更为强大和完善。另外Kong的插件是基于OpenResty开发的,Lua简单的语法上手极快,在加上有Nginx坐后盾可以在很短的时间就能开发出高性能的插件。Kong的插件生态比较完善,基本上能够涵盖企业网关需求的方方面面,社区版本插件也是非常丰富的,在加上一点简单开发基本上能满足企业日常需求。
Kong的插件可以分为以下几类:认证
认证作为API服务的一个基本需求,没有网关之前认证是放到各个业务系统做的。但是,作为一个服务基本诉求和基础设施,完全是可以放到网关进行统一认证的。Kong提供的认证方式基本上涵盖了目前常见主流的认证:
1)Basic Authentication:
2)Key Authentication:
3)OpenID Connect 1.0 RP(企业版)
4)OAuth 2.0 Authentication
5)OAuth 2.0 Introspection(企业版)
6)HMAC Authentication
7)JWT
8)LDAP Authentication安全设施
有了认证之后还需要保证API和对外开放时数据传输的安全性、准入控制、IP黑白名单、跨域、Https等。Kong在这个层面也是提供了目前设计安全设施相关的一些插件。
1)ACL
2)CORS
3)Dynamic SSL
4)IP Restriction
5)Bot Detection流控类
1)Canary Release(企业版)
2)Forward Proxy(企业版)
3)Proxy Caching(企业版)
4)Request Size Limiting
5)Rate Limiting(企业版)
6)Rate Limiting
7)Response Rate Limiting
8)Request TerminationServless
/分析&监控类
1)Zipkin
2)Datadog
3)Runscope转换类
1)Request Transformer(企业版)
2)Response Transformer
3)Correlation ID日志记录
1)TCP
2)UDP
3)HTT
4)File
5)StatsD
6)Syslog
7)Loggly
