微服务API网关 KONG 介绍

引入微服务后,客户端(APP,H5,小程序)等一般需要同时调用多个后台的服务,

  • 一方面每当引入新的服务时,客户端需要能感知到更新的信息或者配置域名,
  • 另一方面,后端的每一个服务可能都要重复实现一些安全、流量控制(限流、排队、降级、熔断)、日志功能,这个过程当服务多了就非常麻烦。

API Gateway 即 API 网关的出现,就是来解决这些问题的。

API Gateway是位于客户端和API的一个单点入口,将客户端的请求反向代理到后端的一组微服务上,同时,天然的路径优势,使得API网关可以做一些面向切面的工作


微服务API网关 KONG 介绍

客户端请求API,都先经过网关



什么是 KONG ?

KONG 是一款开源的基于 nginx + openresty + 插件的 api 网关;


微服务API网关 KONG 介绍

KONG 实际上指大金刚(KING KONG)


KONG 有哪些优势?

KONG 是有几大核心优势的,能受欢迎自然有它的道理:

几大核心优势:

  1. 本身基于 Nginx + lua 以及 Openresty 这个平台,性能优势极高
  2. 由 于插件化的机制,编写的lua脚本可以在无需重启nginx的情况下热部署生效;
  3. 一般公司对nginx的积累都不错,特别是运维,因此学习和上手很容易;本质上就是在nginx上外挂了kong的配置,且天然集成了 openresty
  4. 支持云原生,kubernetes 中 ingress 认证kong为可选网关 (默认是nginx)
  5. 开源(基于 Apache 2.0协议)、
    社区活跃(github)、插件丰富

KONG 有哪些功能?

  • 认证(Authentication): 支持 basic auth、jwt、LDAP、oauth2 等认证机制


微服务API网关 KONG 介绍

官方提供的认证插件

  • 安全(Security):支持CORS、机器人检测、IP限制等操作


微服务API网关 KONG 介绍

可选的安全插件


  • 流量控制(Traffic Control): 支持基于角色的权限控制、代理缓存、RateLimiter等


微服务API网关 KONG 介绍

流控插件


  • 统计监控(analytics & monitoring):支持 zipkin、Prometheus 等监控系统


微服务API网关 KONG 介绍

统计监控插件

  • 日志(Logging) : 支持丰富的日志插件


微服务API网关 KONG 介绍

常见的都有,没有也可以自己写


  • 转换(Transformation):进行请求改写等操作


微服务API网关 KONG 介绍

转换插件

这么多的插件,开箱即用;一个http请求即生效 ~

接下来我们会开始介绍如何快速上手KONG。


分享到:


相關文章: