文章来源:花椒技术,点击查看原文。什么是KongKong是面向现代架构(混合云,混合组织)的下一代API网关平台,具有云原生、高性能,易用、可扩展等特性。适用于APIGateway,KubernetesIngress,ServiceMeshSidecar等场景。主要特性有:

云原生:与平台无关,Kong可以从裸机运行到Kubernetes

高性能:背靠非阻塞通信的Nginx,性能自不用说

插件机制:提供众多开箱即用的插件,且有易于扩展的自定义插件接口,用户可以使用Lua自行开发插件

熔断:可以通过插件实现熔断,避免系统雪崩

日志:可以记录通过Kong的HTTP,TCP,UDP请求和响应

鉴权:权限控制,IP黑白名单,同样是OpenResty的特性

SSL:SetupaSpecificSSLCertificateforanunderlyingserviceorAPI

监控:Kong提供了实时监控插件

认证:如数支持HMAC,JWT,Basic,OAuth2.0等常用协议

限流:可以通过插件实现单个服务某些接口的限流,避免服务过载导致不可用

RESTAPI:通过RESTAPI进行配置管理,从繁琐的配置文件中解放

健康检查:自动检查,被动检查;节点不可用同步到所有的Kong节点需要1-2秒

动态路由:Kong的背后是OpenResty+Lua,所以从OpenResty继承了动态路由的特性

为什么使用Kong?目前我们需要解决的问题:

统一入口:服务端微服务框架中,接口权限验证,IP限制,限流等在各个服务中都单独实现。没有统一入口,不方便统一管理。

易用性,扩展性:服务端技术栈主要是LNMP开发,目前在逐步转型到基于SpringBoot、SpringClound微服务技术栈上开发。这是一个灰度迁移的过程,我们需要Proxy能操作简单,管理方便。

持续集成发布:互联网2C产品,用户无时不刻不在使用服务,同时产品还在不断的迭代,服务每时每刻都可以发布,所以必须要热部署能力,并且是自动化的。但是基于SpringBoot的服务启动15-30秒,我们需要Kong的蓝绿发布功能。

Kong可以完美的解决以上问题,解决方案如下:1、统一入口:可以作为微服务统一入口,将限流,权限验证,日志,IP限制等统一实现。2、易用性,扩展性:提供了Restful操作方式,并且有Dashboard管理工具。

#创建一个名称hello的upstream

curl-XPOST



转载请注明地址:http://www.huajiaoe.com/hjsltx/25735.html