API网关kong简介
📅 2020-06-02 | 🖱️
🔖 apigateway,
🔖 kong
kong是一个云原生的、高性能的、可扩展的API网关(分布式微服务抽象层)。 kong基于openresty, nginx+lua模块开发,其核心价值就是高性能和可扩展性。
kong的基本运行情况如下图所示,kong可以通过充当微服务请求的网关, 同时通过插件提供负载均衡、日志记录、身份认证、速率限制(rate-limiting)、转换(transformations)等功能。
客户端请求到达kong网关后,经过一系列的插件处理之后才会将请求转发给指定的后端服务。
kong的主要组件包含:
- Kong Server: 基于nginx的服务器,用来接收API请求
- PostgreSQL或Apache Cassandra: 用来存储数据
- konga: 第三方开源的图形化管理工具,支持kong的最新版本(因为kong的社区版不提供dashboard)
kong的三大基础特性:
- 可扩展性: 可以通过添加更多服务器进行横向扩展
- 模块化: 通过添加插件进行扩展其插件可定制开发
- 云原生: 可在任何基础架构上运行,如云环境或内部网络,对云原生、kubernetes天然支持