APISIX 是一个云原生、高性能、可扩展的微服务 API 开源网关,基于OpenResty(Nginx+Lua)和etcd来实现,对比传统的API网关,具有动态路由和热插件加载的特点。

APISIX
公司介绍:
产品详情
支流科技APISIX是一款云原生、高性能、可扩展的全生命周期API网关产品,旨在为企业提供统一的API流量管理、安全防护、观测性与扩展能力,帮助企业高效处理微服务架构下的API请求,保障服务稳定性、安全性与可观测性,支撑业务快速迭代与数字化转型。APISIX并非单一功能工具,而是融合流量调度、安全管控、监控分析、插件扩展等能力的综合性网关平台,其核心架构遵循云原生设计理念,支持动态配置、热加载与高可用部署,满足从中小企业到大型企业的多样化需求。
一、核心定位与整体架构
APISIX的核心定位是“云原生API网关的标准”,其设计理念围绕高性能、动态性、可扩展性三大核心维度展开,旨在解决传统网关在云原生场景下的性能瓶颈、配置滞后、扩展困难等问题。
- 高性能:基于Nginx+LuaJIT底层架构,结合异步非阻塞I/O模型,实现超低延迟与超高吞吐量,单核心可处理18万+ QPS请求,延迟控制在微秒级别,远超传统网关产品。
- 动态性:采用ETCD作为配置中心,支持配置实时生效(无需重启服务),动态更新路由、上游、插件等配置,满足业务快速迭代需求。
- 可扩展性:插件化架构设计,支持热加载插件,提供丰富的官方插件生态与自定义插件能力,轻松扩展业务逻辑。
APISIX的整体架构分为以下四层:
- 接入层:基于Nginx内核,负责接收客户端请求,处理TCP/UDP/HTTP/HTTPS等协议,提供SSL/TLS终止、连接复用等基础能力。
- 核心引擎层:包含路由匹配引擎、流量控制引擎、插件执行引擎三大核心模块,负责请求的路由分发、流量管控与插件逻辑执行。
- 配置与服务发现层:基于ETCD实现分布式配置存储与同步,支持Consul、Nacos、Kubernetes Service等服务发现机制,自动感知后端服务变化。
- 扩展层:提供插件生态、自定义扩展接口、多集群管理等能力,支持与第三方系统(如监控、日志、认证服务)集成。
二、核心功能模块详解
1.流量管理模块
流量管理是APISIX的核心功能,覆盖路由匹配、负载均衡、流量控制、灰度发布等全链路流量调度能力。
- 路由匹配:支持多种匹配规则,包括精确匹配(Exact)、前缀匹配(Prefix)、正则匹配(Regex)、参数匹配(Query String)、Header匹配、Cookie匹配等。例如,可配置路由将“/api/v1/users”请求转发到用户服务,将“/api/v1/orders”转发到订单服务;支持基于用户Agent的移动端/PC端路由分流。
- 负载均衡:提供丰富的负载均衡算法,包括轮询(Round Robin)、加权轮询(Weighted Round Robin)、一致性哈希(Consistent Hash)、最少连接(Least Connections)、IP哈希(IP Hash)等。加权轮询适用于后端服务性能不均场景,一致性哈希适用于会话保持需求,最少连接适用于负载不均的后端集群。
- 流量控制:
- 限流:支持令牌桶(Token Bucket)、漏桶(Leaky Bucket)算法,可基于IP、用户ID、接口路径等维度限流。例如,配置“/api/v1/login”接口每秒最多允许100次请求,超过则返回429错误。
- 熔断:基于错误率、延迟、超时等条件触发熔断,支持自定义熔断阈值与恢复策略。例如,当后端服务5分钟内错误率超过50%时,触发熔断并返回降级响应,30秒后自动尝试恢复。
- 重试与超时:支持配置请求重试次数、间隔与条件(如仅对GET请求重试),设置连接超时、发送超时、接收超时,避免请求长时间阻塞。
- 灰度发布:
- 金丝雀发布:基于权重分配流量,例如将10%流量导向新版本服务,90%导向旧版本,验证无误后逐步提升权重。
- A/B测试:基于Header、Cookie等维度分流,例如将“X-Test-Version: A”的请求导向版本A,“X-Test-Version: B”导向版本B。
- 蓝绿发布:配置两个完全相同的集群(蓝/绿),切换路由指向实现无缝发布,旧版本集群保留作为回滚备用。
- 重定向与重写:支持URL重写(如将“/old”重写为“/new”)、Host重写(如将“old.example.com”改为“new.example.com”)、Header修改(添加/删除/替换请求/响应Header)等功能。
2.安全防护模块
安全防护模块提供全方位的API安全保障,覆盖身份认证、权限控制、WAF防护、数据脱敏等能力。
- 身份认证:
- JWT认证:验证JWT令牌的签名、过期时间、Issuer等字段,支持RS256/HS256等加密算法,配置公钥即可启用。
- OAuth2.0:支持授权码模式、密码模式、客户端凭证模式,集成Keycloak、Auth0等第三方认证服务。
- Basic Auth:简单用户名密码认证,适用于内部API访问控制。
- API Key:基于API Key头或参数认证,支持自定义Key位置与验证逻辑。
- 权限控制:
- RBAC:通过APISIX Dashboard实现角色权限管理,创建管理员、编辑者、观察者等角色,分配不同配置操作权限。
- ACL:基于IP、用户ID等维度配置访问控制列表,允许/拒绝特定主体访问API。
- WAF防护:内置OWASP核心规则集,阻止SQL注入、XSS、CSRF、命令注入等常见攻击。支持自定义规则,例如添加“阻止包含‘DROP TABLE’的请求”规则;配置IP白名单跳过WAF检查。
- 数据脱敏:通过mask插件对敏感字段进行脱敏处理,例如将手机号中间四位替换为“*”(138****1234)、身份证号中间八位替换为“*”(110101********1234),保护用户隐私数据。
- HTTPS与TLS:支持TLS 1.0/1.1/1.2/1.3版本,配置证书自动续期(Let’s Encrypt集成),支持SNI多域名证书,禁用弱加密算法(如SSLv3)提升安全性。
3.观测性模块
观测性模块提供日志、指标、追踪三大核心能力,帮助用户实时监控API运行状态,快速定位问题。
- 日志收集:支持多种日志输出方式,包括本地文件、Kafka、Elasticsearch、Prometheus、Grafana Loki等。日志格式可自定义,包含请求方法、URL、状态码、延迟、客户端IP、上游地址等关键信息。例如,配置日志输出到Elasticsearch,结合Kibana实现日志检索与可视化。
- 指标监控:内置Prometheus指标,包括请求总数(apisix_http_requests_total)、请求延迟(apisix_http_request_duration_seconds)、错误请求数(apisix_http_requests_error)、插件执行次数等。支持Grafana仪表盘集成,实时展示API QPS、延迟分布、错误率等关键指标。
- 分布式追踪:集成OpenTelemetry、Jaeger、Zipkin等追踪系统,自动生成Trace ID与Span ID,记录请求的全链路调用过程。例如,通过Jaeger查看请求从APISIX到后端服务的每个环节延迟,快速定位性能瓶颈。
- 实时监控面板:APISIX Dashboard提供内置监控面板,展示集群节点状态、API请求统计、插件运行情况等,支持自定义告警规则(如请求错误率超过10%时发送邮件/钉钉告警)。
- 审计日志:记录管理员的配置操作(如创建路由、修改插件),包括操作时间、操作者、操作内容等,满足合规审计要求。
4.插件生态与扩展模块
插件化架构是APISIX的核心优势之一,提供超过150个官方插件与灵活的自定义插件能力。
- 官方插件生态:覆盖流量管理(limit-req、circuit-breaker)、安全(jwt-auth、waf)、观测性(prometheus、opentelemetry)、服务发现(consul、nacos)、数据处理(rewrite、redirect)等多个领域。插件支持热加载,无需重启服务即可启用/禁用。
- 自定义插件:
- Lua插件:基于LuaJIT编写,直接集成到APISIX内核,性能最优。例如,实现自定义的认证逻辑或流量控制规则。
- Go插件:通过go-plugin机制实现,支持Go语言开发,适合已有Go代码资产的场景。
- Java插件:通过JNI或HTTP调用实现,兼容Java生态系统。
- 插件优先级管理:支持配置插件执行顺序,例如先执行认证插件,再执行流量控制插件,最后执行日志插件。
- 服务发现集成:自动发现Consul、Nacos、ETCD、Kubernetes Service中的后端服务,动态更新上游配置。例如,Kubernetes场景下,APISIX自动感知Service的Pod变化,无需手动修改上游地址。
5.多环境与运维模块
多环境与运维模块支持多云部署、多集群管理、自动化运维等能力,满足企业级大规模部署需求。
- Kubernetes集成:
- Ingress Controller:将Kubernetes Ingress资源转换为APISIX路由配置,支持Ingress Annotations配置插件(如限流、认证)。
- Gateway API:支持Kubernetes Gateway API v1.0,提供更标准、更强大的网关配置能力,替代传统Ingress。
- 多云与混合云部署:支持公有云(AWS、Azure、阿里云)、私有云(OpenStack)、混合云环境部署,统一管理跨云API流量。例如,将AWS上的商品服务与阿里云上的订单服务通过APISIX统一路由。
- 多集群管理:APISIX Cluster Manager(APISIX CM)支持管理多个APISIX集群,统一配置分发、集群状态监控、版本升级。适合大型企业的多区域部署(如北京、上海、广州集群)。
- 边缘网关:APISIX Edge轻量级版本,适合部署在边缘节点(CDN节点、IoT设备网关),处理边缘流量,减少延迟。例如,IoT场景下,边缘设备数据通过APISIX Edge路由到本地边缘服务,或转发到云端。
- 自动化运维:
- Helm Chart:快速部署APISIX到Kubernetes集群。
- Docker Compose:本地测试环境一键部署。
- Ansible:批量部署APISIX到多台服务器。
- 高可用部署:集群模式无单点故障,ETCD集群保证配置高可用,APISIX节点负载均衡。
三、技术特点与优势
- 极致性能:单核心18万+ QPS,延迟<1ms,远超传统网关(如Spring Cloud Gateway、Kong)。基于Nginx异步非阻塞I/O模型与LuaJIT即时编译,性能接近原生C代码。
- 动态配置:ETCD配置中心支持实时更新,无需重启服务,配置变更秒级生效。适合业务快速迭代场景,例如秒杀活动中动态调整限流规则。
- 插件化架构:热加载插件机制,丰富的官方插件生态,自定义插件支持多语言,轻松扩展业务逻辑。
- 云原生友好:Kubernetes集成完善,支持Gateway API,容器化部署,服务发现自动感知,符合云原生设计理念。
- 开源生态活跃:Apache顶级项目,全球活跃社区,持续更新功能(如Gateway API支持、Go插件机制),避免厂商锁定。
- 企业级支持:支流科技提供商业版APISIX Enterprise,包括高级功能(多集群管理、企业级WAF、专属支持),满足金融、政府等行业的严格需求。
四、典型应用场景
- 微服务网关:在Spring Cloud、Dubbo微服务架构中作为入口网关,路由请求到各个微服务,提供流量控制、安全防护、观测性能力。例如,电商平台用APISIX路由商品、订单、用户服务,配置限流插件防止秒杀流量冲击,配置WAF插件阻止恶意攻击。
- API管理平台:企业内部API与外部开放API统一管理,包括发布、授权、监控、告警。例如,金融机构开放平台用APISIX管理开放API,配置JWT认证确保授权访问,配置数据脱敏保护用户隐私,配置审计日志满足监管要求。
- 云原生网关:Kubernetes集群的Ingress/Gateway实现,管理集群内部与外部流量。例如,K8s集群中,APISIX作为Gateway API实现,统一路由集群内微服务,自动发现Service变化。
- 边缘计算网关:边缘节点部署APISIX Edge,处理边缘流量,减少延迟。例如,IoT场景下,边缘设备数据通过APISIX Edge路由到本地边缘服务,进行实时分析,再将结果同步到云端。
- 安全防护网关:作为API安全防护入口,阻止SQL注入、XSS等攻击,保护后端服务。例如,政府网站用APISIX配置WAF插件,过滤恶意请求,保障网站安全。
总结
APISIX作为云原生API网关的领军产品,以高性能、动态性、可扩展性为核心优势,提供全面的流量管理、安全防护、观测性与插件生态能力,满足从中小企业到大型企业的多样化需求。无论是微服务架构、云原生部署还是边缘计算场景,APISIX都能为企业提供稳定、安全、高效的API网关解决方案,助力企业数字化转型。
点击链接,了解更多产品详情:
登录后查看
https://www.fenbeitong.com/product.html" rel="noopener noreferrer" target="_blank" style="color: rgb(230, 0, 0);">https://www.fenbeitong.com/product.html
案例介绍
版权/专利









