【API网关Kong系列一】- 简介

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 技术架构

《【API网关Kong系列一】- 简介》
从技术架构图可以看出、kong 是一款流量网关开源的产品

1.4 工作流程

Kong 是在客户端和(微)服务间转发API通信的PAI网关、通过插件可以扩展功能。
《【API网关Kong系列一】- 简介》

一旦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 脚本编写。

在官方文档中,我们可以获取全部插件,其中部分插件是需要收费的只有企业版才可以使用。
《【API网关Kong系列一】- 简介》

要玩转Kong, 关键在于它提供的插件。有免费、有收费、还有社区提供的,并且支持自定义。现阶段提供有8类插件

  1. 身份验证
  2. 权限安全
  3. 流量控制
  4. Serverless
  5. 分析与监控
  6. 数据转换
  7. 日志信息
  8. 部署发布

2、 总结

通过上述简单介绍相信大家对kong有一个基本的了解,kong 就是 Mashape 开源的高性能,高可用的PAI网关,基于openRestry二次开发的,支持可插拔的插件方式进行扩展,提供了日常使用的8大类插件等特性。

想了解更多关于Kong网关的请移步
>>>>> 企业级API网关Kong

    原文作者:阅历笔记
    原文地址: https://segmentfault.com/a/1190000019857025
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞