前言
版本:0.7
API 网关/网关,充当的职责无非以下几点:
- 鉴权
- 限流
- 分流
- 负载均衡
隐含的功能就是动态 upstream
大多与的 API 网关都是用利用 lua 实现的 Openresty 来实现的,因为它可以很好的和 nginx 结合在一起,可以同时运行 lua 脚本和 C 库,并且由于 lua 在协程上实现得十分早,对于 IO 密集型的处理十分的高效。
在给予 Openresty 实现的 API 网关中,有一些是比较出名的,例如 kong/orange
Orange
由于 3 个部分构成:
- main-server: 一个 location 的表示格式
- api-server: orange 的 api 服务
- dashboard: 面板
依赖的存储服务:
- mysql
前端技栈:
- html
- css
- jquery
Orange 脑图
插件
BASE_AUTH
基于 Basic Authorization 的插件
DIVIDE
分流插件
DYNAMIC_UPSTREAM
动态 upstream 插件