Apache APISIX 是一个动态、实时、高性能的 API 网关, 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。
你可以使用 Apache APISIX 来处理传统的南北向流量,以及服务间的东西向流量, 也可以当做 k8s ingress controller 来使用。
Apache APISIX 的技术架构如下图所示:
#ApacheAPISIX
关注我们并与我们互动。你可以把 Apache APISIX 当做流量入口,来处理所有的业务数据,包括动态路由、动态上游、动态证书、 A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、抵御恶意攻击、监控报警、服务可观测性、服务治理等。
全平台
多协议
client_id
对 MQTT 进行负载均衡,同时支持 MQTT 3.1.* 和 5.0 两个协议标准。全动态能力
host
、uri
、schema
、method
、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 filter
,body filter
和 log
阶段。balancer
阶段使用自定义负载均衡算法。多语言支持
Apache APISIX 是一个通过 RPC
和 Wasm
支持不同语言来进行插件开发的网关。
Serverless
安装
请参考APISIX 安装指南。
入门指南
入门指南是学习 APISIX 基础知识的好方法。按照 入门指南的步骤即可。
更进一步,你可以跟着文档来尝试更多的插件。
Admin API
Apache APISIX 提供了 REST Admin API,方便动态控制 Apache APISIX 集群。
插件二次开发
可以参考插件开发指南,以及示例插件 example-plugin
的代码实现。 阅读插件概念 会帮助你学到更多关于插件的知识。
更多文档请参考 Apache APISIX 文档站。
使用 AWS 的 8 核心服务器来压测 APISIX,QPS 可以达到 140000,同时延时只有 0.2 毫秒。
性能测试脚本 已经开源,欢迎补充。
访问此处 使用贡献者数据服务。
更多用户案例,请查看 Case Studies。
有很多公司和组织把 APISIX 用于学习、研究、生产环境和商业产品中,包括:
欢迎用户把自己加入到 Powered By 页面。
我们欢迎来自开源社区、个人和合作伙伴的各种贡献。
灵感来自 Kong 和 Orange。