API7 功能特性

API7 为您提供生产可用的七层全流量处理平台

API 和服务治理

协议支持

  • HTTP/1.1、HTTP/2
  • HTTP/3
  • TLS/HTTPS
  • MQTT
  • TCP
  • UDP
  • HTTP -> gRPC/Dubbo
  • Websocket
  • Dubbo
  • 自定义四层、七层协议

平台支持

  • 裸金属
  • 虚拟机
  • Kubernetes
  • ARM64
  • 鲲鹏(通过华为云认证)
  • AWS、GCP、阿里云、腾讯云等

精细化路由

  • URI 参数匹配
  • HTTP 请求头匹配
  • HTTP 请求方法匹配
  • 支持所有 Nginx 变量匹配
  • 支持 Lua 代码段实现自定义匹配
  • 支持条件表达式
  • 支持 IPv6
  • GeoIP 地理位置匹配
  • 路由存活时间(TTL)
  • 优先级匹配

负载均衡

  • Round Robin
  • Weighted Round Robin
  • Chash(一致性哈希)
  • 支持所有 Nginx 变量匹配
  • Sticky Session(会话保持)
  • Least Connections
  • EWMA
  • 支持自定义负载均衡算法

请求改写

  • URI 改写
  • 新增、修改或删除 HTTP 请求头
  • 301、302 重定向
  • 强制跳转到 HTTPS

响应改写

  • 新增、修改或删除 HTTP 响应头
  • 修改 HTTP 响应码
  • 修改响应体

服务发现和注册

  • 默认 ETCD,并支持 ETCD 集群
  • Consul
  • Eureka
  • Nacos
  • Redis

容错和降级

  • 限流、集群限流
  • 限速
  • 限制并发
  • 上游主动健康检查
  • 上游被动健康检查
  • 服务熔断
  • 服务降级
  • API 熔断
  • 超时

流量管理

  • 灰度发布
  • 蓝绿发布
  • 流量镜像
  • 故障注入

API 管理

  • 多 API 聚合
  • 版本管理
  • 上线和下线
  • Swagger 和 OpenAPI
  • 生成 SDK 和文档

插件管理

  • 动态新增、修改和删除插件
  • 插件编排(低代码)
  • 支持 Lua、Java 和 Go 编写自定义插件

安全

用户相关

  • RBAC
  • 多租户
  • 多工作分区
  • SSL 证书管理
  • 通过 Admin API Key 和 IP 限制来控制访问

通信加密

  • mTLS
  • SSL 证书自动轮转
  • 支持国密

防止攻击

  • IP 黑白名单
  • URI 黑白名单
  • 防 ReDOS 攻击
  • 防重放攻击

身份认证

  • key-auth
  • basic-auth
  • JWT
  • API 签名校验(HMAC)
  • OAuth2
  • SSO
  • 对接 Auth0、Okta 等

可观测性

Metrics

  • Prometheus

Tracing

  • SkyWalking
  • Zipkin
  • OpenTracing

日志

  • Kakfa
  • Http Logger
  • TCP Logger
  • UDP Logger

性能和高可用

QPS

  • 单核心性能

延迟

  • 每请求最低延迟

部署

  • 数据平面无状态
  • 配置中心支持集群

集群管理

  • 支持多集群的配置和管理
  • 多层网络下自动选择集群

动态和热更新

  • 所有变更都是热更新,实时生效
  • 插件热更新
  • 程序自身热更新

运维

CLI

  • 命令行工具

Admin API

  • 使用 REST API 来控制,方便集成

单机模式

  • 用 YAML 文件来定义所有规则

回滚

  • 支持操作的无限回滚

Helm charts

  • 更方便 K8s 下的运维

健康状态

  • 数据平面节点的版本和运行监控
  • 配置中心状态和版本信息
  • 节点负载状态监控

服务可观测性

  • 服务调用拓扑
  • 数据吞吐量
  • 响应时间统计
  • 上游响应时间统计
  • 状态码统计
  • API 调用次数统计