Kong APIGW — Overview

目录

Kong

Kong 是一款由 Mashape 公司开源的 APIGW 软件,基于 OpenResty(Nginx + Lua 模块)实现,具有高可用、易扩展的特性。Kong 在 Mashape 上管理了超过 15,000 个 API,为 200,000 开发者提供了每月数十亿的请求支持。

  • 官网:https://konghq.com/kong/
  • Github:https://github.com/Kong/kong
  • Docs:https://docs.konghq.com/
  • 中文文档:https://github.com/qianyugang/kong-docs-cn

Kong 和 OpenResty 一起打包发行,其中已经包含了 lua-nginx-module。可以简单理解为:Kong > OpenResty > Nginx + lua-nginx-module。

在这里插入图片描述

Kong 的特性:

  • 可扩展:Kong Server 支持水平扩展。
  • 插件:Kong Server 实现了 Plugin 机制进行功能定制,通过 RESTful Admin API 安装和配置插件,
  • 在任何基础设施上运行:Kong 可以部署在云端、机房、或者混合环境,包括单个或多个数据中心。

Kong 的功能:

  • Cloud Native(云原生):与平台无关,Kong 可以从裸机运行到 Kubernetes。
  • Dynamic Load Balancing(动态路由):Kong 的背后是 OpenResty + Lua,所以从 OpenResty 继承了动态路由的特性。
  • Circuit Breaker(熔断)
  • Health Checks(健康检查)
  • Logging(日志):可以记录通过 Kong 的 HTTP,TCP,UDP 请求和响应。
  • Security(安全访问):权限控制,IP 黑白名单,同样是 OpenResty 的特性。
  • SSL:Setup a Specific SSL Certificate for an underlying service or API。
  • 监控:Kong 提供了实时监控插件。
  • 认证:支持 HMAC、JWT、Basic、OAuth2.0 等常用协议。
  • Rate-limiting(限流):Block and throttle requests based on many variables。
  • REST API:通过 Rest API 进行配置管理,从繁琐的配置文件中解放。
  • 高可用性:天然支持分布式。
  • Plugins(插件机制):提供众多开箱即用的插件,且有易于扩展的自定义插件接口,用户可以使用 Lua 自行开发插件。

Kong 的软件架构

Kong 有 3 个核心组件:

  1. Kong Server:主体程序,基于 Nginx 的 HTTP APIGW 服务器,用来接收 API 请求。
  2. Apache Cassandra/PostgreSQL:后端数据库。
  3. Kong Dashboard:UI 管理工具。

Kong 的分层架构:

  1. Nginx 层:Niginx Server。
  2. OpenResty 层:可以通过 Lua 模块来进行功能扩展是 Nginx 的一大特点,OpenResty 就是一组实现了 Web 平台的基础 Lua 模块,并与 Nginx 一起打包发布。
  3. Cluster & Data Store 层:持久化 Kong 所需要的配置和生产数据,目前支持 Apache Cassandra 和 PostgreSQL 两种后端数据库。Cassandra 是分布式的 NoSQL 数据库,天然支持高可用。
  4. Plugin 层:Kong 基于 OpenResty 可以继续实现各类 Plugin 继而满足 APIGW 的基本功能,且可以通过添加新的插件进行扩展,这些插件可以通过 RESTful Admin API 轻松配置。
  5. RESTful APIs 层:包括 RESTful Admin API 和 RESTful Proxy API。

可见,Kong 覆盖了 Nginx 的所有功能,包括:反向代理、负载均衡以及基本的缓存、安全的认证、限流限速等。同时还支持 Nginx 等 Web 服务器实现不了的功能,例如:动态上游、动态 SSL 证书、动态限流限速,以及主动/被动健康检查、服务熔断等。

在这里插入图片描述

竞品对比

在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值