大家好,又见面了,我是你们的朋友全栈君。
1、简介
Kong 是一个企业级服务网关,底层是使用lua语言,整合Nginx 实现了强大的服务转发,路由,验证功能,
1.2 官方描述
Kong was originally built at Mashape to secure, manage and extend over 15,000 APIs & Microservices for its API Marketplace, which generates billions of requests per month for over 200,000 developers. Today Kong is used in mission critical deployments at small and large organizations.
Kong是一个Mashape开源的高性能高可用的API网关和API服务管理层,基于OpenResty,进行API管理,并提供了插件实现了API的AOP功能。
Kong在Mashape管理了15000 个API。为20 万开发者提供每月数十亿的请求支持。
Kong是基于OPenRestry,而OpenRestry又是对Nginx的二次封装,所以很多配置项和Nginx类似。
1.2 特点
可扩展性: Kong通过简单的增加机器节点,可以很容易的水平扩展。
模块化:Kong通过插件的方式扩展,插件可以很容易通过一个RESTful管理API来配置。
可以运行在任何基础架构:Kong 可以处处运行,包括云、本地环境或者混合环境、单个或者多个数据中心等
1.3 技术架构
从技术架构图可以看出、kong 是一款流量网关开源的产品
1.4 工作流程
Kong 是在客户端和(微)服务间转发API通信的PAI网关、通过插件可以扩展功能。
一旦kon运行起来、每个客户端对API的请求将先到达Kong 、然后被代理到最终的API上。
在请求和响应之间,Kong将执行任何安装的插件,扩展API 的功能集。其有效的成为每个API 的请求入口。
1.5 主要组件介绍
Kong server: 基于Nginx服务器,用来接受API请求的。
Apache Cassandra & PostgreSQL : 用来存储操作数据的。
可以通过增加Kong Server 机器来对Kong服务进行水平扩展,通过前置的负载均衡器向这些服务器分发请求,根据官方文档描述,两个存储节点(Cassandra)就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当的增加更多的节点。
对于开源社区来说,Kong 最吸引人的地方在于可以通过插件扩展已有的功能,这些插件在API请求响应循环的生命周期中被执行。
总结: Kong 就是一个针对Nginx管理系统,并提供了很多关于API网关功能的Nginx扩展
1.6 插件介绍
Kong 插件使用 Lua 脚本编写。
在官方文档中,我们可以获取全部插件,其中部分插件是需要收费的只有企业版才可以使用。
要玩转Kong, 关键在于它提供的插件。有免费、有收费、还有社区提供的,并且支持自定义。现阶段提供有8类插件
身份验证
权限安全
流量控制
Serverless
分析与监控
数据转换
日志信息
部署发布
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153175.html原文链接:https://javaforall.cn