kong具备反向代理吗

Z, ZLW 289

kong具备反向代理。Kong 是由 Mashape 开源的一款具有高性能、高可用特点的云原生架构下的分布式 API 网关。基于 Nginx 和 OpenResty 的 Kong 获得了非常高的性能, Lua脚本的插件系统架构设计也使得其具有高扩展性的能力后并不会丢失性能。

1、 Kong 是物联网网关神器

在 IOT 系统架构中,为了保证系统的鲁棒性和高可扩展性。我们需要一个强大的 API 网关来承受住遍布各地的 IOT 设备所传输的信息。插件架构设计的 Kong 使得它具有了强大的兼容性,和可扩展性。TCP 和 UDP
原始流的支持,更是使得它可以适配多种协议,完美的解决了 IOT 系统中的协议适配问题。

2、Kong 的前世今生

Kong 是由 Mashape 开源的一款具有高性能、高可用特点的云原生架构下的分布式 API 网关。基于 Nginx 和 OpenResty 的 Kong 获得了非常高的性能, Lua脚本的插件系统架构设计也使得其具有高扩展性的能力后并不会丢失性能。

3、Kong 的基本架构

那么,我们回到 Kong,来看一下 Kong 的整体架构。

  • Kong 基于 Nginx 来实现 Api Gateway 基本的负载均衡、反向代理等功能。由 C 语言编写的 Nginx 有着超高的性能和低内存开销。
  • OpenResty 是一个基于 Nginx 的库,它将 Nginx 进行封装,并提供了整个生命周期的 Hook( 钩子 )
  • Kong 使用PostgreSQL 或 Cassandra 来对其配置文件进行持久化存储,使得可以进行集群管理。
  • Kong 提供了插件模型,使用 Lua 脚本来对 Nginx 整个生命周期进行扩展。实现了一些常用插件( 限流、熔断、验权等 )。

4、 Kong 的特点。

  • Cloud-Native:与平台无关,Kong可以在任何平台上运行-从裸机到容器-并且可以在本机上的每个云上运行。
  • Kubernetes-Native:使用官方的Ingress Controller通过本地Kubernetes CRD声明性地配置Kong,以路由和连接所有L4 + L7通信。
  • 动态负载平衡:跨多个上游服务对流量进行负载平衡。
  • 基于哈希的负载平衡:具有一致的哈希/粘性会话的负载平衡。
  • 熔断器:智能跟踪不健康的上游服务。
  • 运行状况检查:主动和被动监视您的上游服务。
  • 服务发现:在第三方DNS解析器(例如Consul)中解析SRV记录。
  • 无服务器:直接从Kong调用和保护AWS Lambda或OpenWhisk功能。
  • WebSockets:通过WebSockets与您的上游服务进行通信。
  • gRPC:与gRPC服务进行通信,并通过日志记录和可观察性插件观察流量
  • OAuth2.0:轻松将OAuth2.0身份验证添加到您的API。
  • 日志记录:通过HTTP,TCP,UDP或磁盘记录对系统的请求和响应。
  • 安全性:ACL,僵尸程序检测,允许/拒绝IP等…
  • Syslog:登录到系统日志。
  • SSL:为基础服务或API设置特定的SSL证书。
  • 监视:实时监视提供关键的负载和性能服务器指标。
  • 转发代理:使Kong连接到中间透明HTTP代理。
  • 认证:HMAC,JWT,基本等。
  • 速率限制:基于许多变量来阻止和限制请求。
  • 转换:添加,删除或处理HTTP请求和响应。
  • 缓存:在代理层缓存并提供响应。
  • CLI:从命令行控制Kong群集。
  • REST API:Kong可以使用其RESTful API进行操作,以实现最大的灵活性。
  • 地理复制:跨不同区域的配置始终是最新的。
  • 故障检测和恢复:如果您的Cassandra节点之一发生故障,则Kong不会受到影响。
  • 集群:所有Kong节点自动加入集群,并在各个节点之间更新其配置。
  • 可扩展性:Kon本质上是分布式的,只需添加节点即可水平扩展。
  • 性能:Kong通过扩展和使用NGINX作为核心轻松处理负载。
  • 插件:可扩展的体系结构,用于向Kong和API添加功能。


回复

我来回复
  • 暂无回复内容

站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部