Apache APISIX API 网关
apisix
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
The Cloud-Native API Gateway and AI Gateway
Apache APISIX 是一个动态、实时、高性能的云原生 API 网关,由 Apache 软件基金会孵化,已成为业界最活跃的开源网关项目之一。它基于 Nginx 和 Lua 技术栈构建,核心采用 etcd 作为配置中心,实现了全动态的配置热更新与插件热加载,无需重启服务即可完成路由、上游、证书等所有配置的变更。
标签
项目特点
**全平台支持**:云原生,无平台锁定,可从裸机运行到 Kubernetes,并支持 ARM64 架构。
**多协议支持**:支持 TCP/UDP 代理、Dubbo 代理、动态 MQTT 代理、gRPC 代理、gRPC Web 代理、gRPC 转码、WebSocket、代理协议、HTTP(S) 正向代理、SSL 和 HTTP/3 (QUIC)。
**全动态**:支持热更新和热插件,无需重启即可持续更新配置和插件;支持代理重写、响应重写、动态负载均衡、健康检查和熔断。
**细粒度路由**:支持全路径匹配和前缀匹配,支持所有 Nginx 内置变量作为路由条件,支持多种运算符作为判断条件,支持自定义路由匹配函数,支持 IPv6、TTL、优先级、批量 HTTP 请求和 GraphQL 属性过滤。
**安全**:提供丰富的认证和授权支持(如 key-auth、JWT、basic-auth、wolf-rbac、casbin、keycloak、casdoor),IP/Referer 黑白名单,外部身份平台集成,限流限速,防 ReDoS 攻击,CORS,URI 拦截器,请求验证器和 CSRF 保护。
**运维友好**:支持 Zipkin 和 Apache SkyWalking 追踪,与外部服务发现(Consul、Nacos、Eureka 等)集成,Prometheus 监控和指标,集群管理,高可用,Dashboard,版本控制,CLI,独立模式,全局规则,高性能(单核 QPS 达 18k,平均延迟低于 0.2 毫秒),故障注入,REST Admin API,以及多种外部日志记录器。
技术规格
| 架构 | |
|---|---|
| 性能 | |
| 协议支持 | |
| 路由 | |
| 插件 | |
| 部署模式 | |
| 服务发现 | |
| 认证 | |
| 可观测性 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Apache APISIX | 1 | — | 核心网关软件 |
| etcd | 1 | — | 配置中心,用于存储路由、插件等配置 |
| OpenResty / LuaJIT | 1 | — | 运行环境 |
| 依赖库 | 若干 | — | 如 lua-resty-* 等,由构建脚本自动处理 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 代码编辑器 | 编辑配置文件和插件代码 | ✅ 是 |
| 命令行终端 | 运行 APISIX 和管理命令 | ✅ 是 |
| Docker | 快速部署和测试 | ▢ 推荐 |
| curl / Postman | 测试 API 路由和功能 | ✅ 是 |
| 浏览器 | 访问 Dashboard 和文档 | ▢ 推荐 |
能力画像
记忆与知识检索
2/5
逻辑推演
4/5
表达与交流
1/5
感知与观察
1/5
数理与计算
1/5
动手与操作
3/5
狂热与坚持
3/5
创造与创新
3/5
项目图库
所需技能
🔧 **动手能力**:需要能够部署和配置 APISIX 及其依赖(如 etcd),熟悉 Linux 命令行操作,能够进行基本的网络配置和故障排查。
💻 **编程能力**:需要具备一定的编程基础,特别是 Lua 语言,以便编写或修改自定义插件。熟悉 YAML 或 JSON 配置文件格式。了解 RESTful API 设计。
⚡ **电子电路**:不适用。
适用场景
**微服务网关**:作为微服务架构的统一入口,处理路由、负载均衡、认证、限流等。
**Kubernetes Ingress**:作为 Kubernetes 集群的 Ingress Controller,管理南北向流量。
**AI 网关**:代理和负载均衡 LLM 请求,提供重试、回退和基于令牌的速率限制。
**API 管理平台**:提供 API 的全生命周期管理,包括发布、监控、版本控制和安全管理。
**流量治理**:实现灰度发布、A/B 测试、蓝绿部署、流量镜像等高级流量管理策略。