apisix高性能网关-中文开发文档
2021-01-08 22:30
标签:lin headers 文件 选型 状态 dev loading 启用 部署 2020年6月12日13:48:33 github:https://github.com/apache/incubator-apisix 支持的功能很多,我个人比较推荐服务发现,这个很省资源,不然得吧java的一套全部上上去,这样其他语言的也可以轻松做微服务了 APISIX 是一个云原生、高性能、可扩展的微服务 API 网关。 它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。 如果你正在构建网站、移动设备或 IoT(物联网)的应用,那么你可能需要使用 API 网关来处理接口流量。 APISIX 是基于云原生的微服务 API 网关,它是所有业务流量的入口,可以处理传统的南北向流量,也可以处理服务间的东西向流量,也可以当做 k8s ingress controller 来使用。 APISIX 通过插件机制,提供动态负载平衡、身份验证、限流限速等功能,并且支持你自己开发的插件。 你可以把 Apache APISIX 当做流量入口,来处理所有的业务数据,包括动态路由、动态上游、动态证书、 全平台 多协议 全动态能力 精细化路由 安全防护 运维友好 高度可扩展 APISIX 在以下操作系统中可顺利安装并做过运行测试,需要注意的是:OpenResty 的版本必须 >= 1.15.8.1: CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, ARM64 Ubuntu 18.04 安装 APISIX 的步骤: 入门指南是学习 APISIX 基础知识的好方法。按照 入门指南的步骤即可。 更进一步,你可以跟着文档来尝试更多的插件。 APISIX 内置了对 Dashboard 的支持,使用步骤如下: 确保你的运行环境中使用了最新的 Node.js 版本(>= 10)。 下载 dashboard 子模块的源码: 安装 yarn 安装依赖并构建 使用浏览器打开 Dashboard 默认只允许 127.0.0.1 访问。你可以自行修改 使用 AWS 的 8 核心服务器来压测 APISIX,QPS 可以达到 140000,同时延时只有 0.2 毫秒。 Apache APISIX 文档索引 有很多公司和组织把 APISIX 用户学习、研究、生产环境和商业产品中,包括: 欢迎用户把自己加入到 Powered By 页面。
APISIX 被纳入 云原生软件基金会 API 网关全景图
如果你对 APISIX 的开发和使用感兴趣,欢迎加入我们的 QQ 群来交流: 灵感来自 Kong 和 Orange。 apisix高性能网关-中文开发文档 标签:lin headers 文件 选型 状态 dev loading 启用 部署 原文地址:https://www.cnblogs.com/zx-admin/p/13098980.html
目前此项目已有成为apache孵化项目
官方中文文档 :https://github.com/apache/incubator-apisix/blob/master/README_CN.md
APISIX
为什么选择 APISIX?
功能
A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、抵御恶意攻击、监控报警、服务可观测性、服务治理等。
client_id
对 MQTT 进行负载均衡,同时支持 MQTT 3.1.* 和 5.0 两个协议标准。
host
、uri
、schema
、enable_websocket
、headers
信息。status code
、body
、headers
。
cookie
, args
等做为路由的条件,来实现灰度发布、A/B 测试等功能{"arg_age", ">", 24}
conf/config.yaml
中的 allow_admin
字段,指定允许调用 Admin API 的 IP 列表。同时需要注意的是,Admin API 使用 key auth 来校验调用者身份,在部署前需要修改 conf/config.yaml
中的 admin_key
字段,来保证安全。
init
, rewrite
,access
,balancer
,header filer
,body filter
和 log
阶段。balancer
阶段使用自定义负载均衡算法。安装
快速上手
sudo apisix start
控制台
git submodule update --init --recursive
cd dashboard
yarn && yarn build:prod
把编译后的在 /dist
目录下的所有文件,拷贝到 apisix/dashboard
目录下。cp -r dist/* .
http://127.0.0.1:9080/apisix/dashboard/
即可使用,
不用填写用户名和密码,直接登录。conf/config.yaml
中的 allow_admin
字段,指定允许访问 dashboard 的 IP 列表。性能测试
文档
Apache APISIX 和 Kong 的比较
API 网关核心功能点,两者均已覆盖
功能
Apache APISIX
KONG
动态上游
支持
支持
动态路由
支持
支持
健康检查和熔断器
支持
支持
动态SSL证书
支持
支持
七层和四层代理
支持
支持
分布式追踪
支持
支持
自定义插件
支持
支持
REST API
支持
支持
CLI
支持
支持
Apache APISIX 的优势
功能
Apache APISIX
KONG
项目归属
Apache 软件基金会
Kong Inc.
技术架构
Nginx + etcd
Nginx + postgres
交流渠道
微信群、QQ群、邮件列表、Github、meetup
Github、论坛、freenode
单核 QPS (开启限流和prometheus插件)
18000
1700
平均延迟
0.2 毫秒
2 毫秒
支持 Dubbo 代理
是
否
配置回滚
是
否
支持生命周期的路由
是
否
插件热更新
是
否
用户自定义:负载均衡算法、路由
是
否
resty gRPC 转码
是
否
支持 Tengine 作为运行时
是
否
MQTT 协议支持
是
否
配置生效时间
事件通知,低于1毫秒更新
定期轮询,5 秒
自带控制台
是
否
对接外部身份认证服务
是
否
配置中心高可用(HA)
是
否
指定时间窗口的限速
是
否
支持任何 Nginx 变量做路由条件
是
否
视频和文章
用户实际使用案例
APISIX 的用户有哪些?
全景图
参与社区
致谢
文章标题:apisix高性能网关-中文开发文档
文章链接:http://soscw.com/index.php/essay/41028.html