2019 年 10 月 17 日橡疼,支流科技 API 網關 APISIX 進入 Apache 開始孵化快耿。筆者表示去搜索了一下這家公司 OpenResty 圈內頂級大疟怂《OpenResty 最佳實踐》作者 溫銘 和 王院生腥泥,這就非常有意思了
APISIX 是一個高性能、可擴展的微服務 API 網關尤慰。它是基于 Nginx 和 etcd 來實現馏锡,和傳統(tǒng) API 網關相比,
APISIX 作為微服務請求?關,通過插件提供負載平衡伟端,?志記錄杯道,身份驗證
等功能:
- 動態(tài)負載均衡: ?持不同上游服務的動態(tài)負載均衡
- 安全插件: 內置安全處理層,?持如OAuth2责蝠、ACL党巾、CORS、動態(tài) SSL 和
IP 限制等 - 流量控制插件: 速率限制霜医,請求??限制和響應速率限制等
- 分析和監(jiān)控插件:借助如 Prometheus齿拂,Datadog 和 Runscope 產品,完成
API 流量的可視化肴敛、檢查和監(jiān)控 - ?志插件:記錄請求或響應?志署海,并通過 HTTP、TCP 或 UDP 等?式發(fā)送
到你的系統(tǒng)(?如: StatsD, Syslog)
github: https://github.com/iresty , 可以看到相較于于 Kong
医男、 Traefik
從源碼角度非常簡潔砸狞。
安裝
安裝 openresty
- 基于 OpenResty 實現的,記住
OpenResty
一個基于Nginx 與Lua 的高性能Web 平臺.
yum install yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
yum install -y openresty
安裝 etcd
-
etcd
一個 (key-value) 強一致性NoSQL數據庫镀梭。相較于Kong
使用的PostgreSQL
關系型數據庫刀森,又是一大亮點
yum install -y etcd
service etcd start
yum install -y https://github.com/iresty/apisix/releases/download/v0.8/apisix-0.8-0.el7.noarch.rpm
啟動 apisix
sudo apisix start
訪問控制臺: http://127.0.0.1:9080/apisix/dashboard/ ,直接訪問即可
PS: 登錄功能沒有實現报账,騙人的研底!
功能體驗
- 目標我們實現
web服務的反向代理,并且可以實現限流
- upstream > 添加
2 . routes > 添加
令牌桶限流配置
rate # 流速 每秒
burst # 令牌桶的容積
key #根據哪個header 來限流
rejected_code # 返回錯誤碼
訪問: ip:9080/ 體驗限流效果
在線演示版本
官方部署了一個在線的 dashboard 透罢,方便大家了解 APISIX榜晦。
http://apisix.iresty.com
項目推薦: Spring Cloud 、Spring Security OAuth2的RBAC權限管理系統(tǒng) 歡迎關注
最近裸辭琐凭,好好歇歇芽隆。整點花哨的系列,歡迎關注统屈。