Features
API and Service Governance
Protocols
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| HTTP/1.1 and HTTP 2 | Y | Y | Y | Y |
| HTTP/3 | Y | Y | N | N |
| TLS / HTTPS | Y | Y | Y | Y |
| MQTT | Y | N | N | N |
| TCP | Y | Y | N | Y |
| UDP | Y | Y | N | Y |
| HTTP to gRPC/Dubbo conversion | Y | Y | N | N |
| Websocket | Y | Y | Y | Y |
| Dubbo | Y | N | N | N |
| Customized Layer 4 and Layer 7 protocols | Y | N | N | N |
Platforms
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Bare Metal | Y | Y | Y | Y |
| Virtual Machines | Y | Y | Y | Y |
| Kubernetes | Y | Y | Y | Y |
| ARM64 | Y | Y | Y | Y |
| Kunpeng (certified by Huawei Cloud) | Y | N | N | N |
| AWS, GCP, Ali Cloud, Tencent Cloud and other public clouds | Y | Y | Y | Y |
Fine-grained Routing
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| URI Parameter Matching | Y | Y | Y | Y |
| HTTP Header Matching | Y | Y | N | Y |
| HTTP Request Method Matching | Y | Y | N | Y |
| Support for all NGINX variables matching | Y | N | N | Y |
| Support for Lua snippets to implement custom matches | Y | N | N | N |
| Support for conditional expressions | Y | N | N | N |
| Support IPv6 | Y | Y | Y | Y |
| GeoIP Geological Location Matching | Y | Y | N | N |
| Routing Time To Live (TTL) | Y | N | N | N |
| Priority Matching | Y | Y | Y | N |
Load-Balance
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Round Robin | Y | Y | Y | Y |
| Weighted Round Robin | Y | Y | Y | Y |
| Consistent Hash (Chash) | Y | Y | N | Y |
| Sticky Session | Y | Y | N | N |
| Least Connections | Y | Y | N | Y |
| EWMA | ||||
| Support for custom load balancing algorithms |
Rewrite Request
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| URI Rewrite | Y | Y | Y | Y |
| Add, modify and delete HTTP request headers | Y | Y | Y | Y |
| Support 301 and 302 Redirection | Y | Y | Y | Y |
| Force a jump to HTTPS | Y | Y | N | Y |
Rewrite Response
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Add, modify and delete HTTP response headers | Y | Y | Y | Y |
| Modify HTTP response code | Y | Y | Y | Y |
| Modify response body | Y | Y | Y | Y |
Service Discovery and Registration
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Default etcd and support for etcd clustering | Y | N | N | N |
| Consul | Y | N | N | N |
| Eureka | Y | N | Y | N |
| Nacos | Y | N | N | N |
| Redis | Y | N | N | N |
Fault tolerance and downgrading
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Traffic Control/ Cluster Traffic Control | Y | Y | N | N |
| Rate Limit | Y | Y | N | Y |
| Concurrency Limit | Y | Y | Y | Y |
| Upstream Active Health Check | Y | Y | N | N |
| Upstream Passive Health Check | Y | Y | N | Y |
| Service Meltdown | Y | Y | Y | Y |
| Service Downgrade | Y | Y | Y | N |
| API Meltdown | Y | Y | N | N |
| Timeout | Y | Y | Y | Y |
Traffic Control
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Canary Release | Y | Y | N | Y |
| Blue-Green Release | Y | Y | N | Y |
| Traffic Mirroring | Y | N | N | Y |
| Fault Injection | Y | N | N | N |
API Management
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Multi API Aggregation | Y | N | N | N |
| Version Management | Y | N | N | N |
| Release and Abolish API | Y | N | N | N |
| Swagger and OpenAPI | Y | N | N | N |
| Generate SDK and documentation | Y | N | N | N |
Plugins Management
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Dynamically add, modify and delete plugins | Y | N | Y | N |
| Plugin orchestration (low code) | Y | N | N | N |
| Support for writing custom plugins in Lua, Java and Go | Y | Y | N | N |
Security
User Management
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| RBAC | Y | N | N | N |
| Multi-tenancy | Y | N | N | N |
| Multi-working partition | Y | Y | N | N |
| SSL Certificate Management | Y | Y | N | N |
| Control access with Admin API Key and IP restrictions | Y | N | N | N |
Communication Encryption
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| mTLS | Y | Y | Y | Y |
| Automatic rotation of SSL certificates | Y | Y | N | N |
| Supports GmSSL | Y | N | N | N |
Attack Prevention
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| IP Blacklist and Whitelist | Y | Y | N | Y |
| URI Blacklist and Whitelist | Y | Y | N | N |
| Anti-ReDOS attacks | Y | N | N | N |
| Anti-Replay Attack | Y | N | N | N |
Authentication
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| key-auth | Y | Y | N | N |
| basic-auth | Y | Y | N | Y |
| JWT | Y | Y | N | N |
| API Signature Verification (HMAC) | Y | Y | N | N |
| OAuth2 | Y | Y | N | N |
| SSO | Y | Y | N | N |
| Auth0, Okta, etc. | Y | Y | N | N |
Observability
Metrics
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Prometheus | Y | Y | N | N |
Tracing
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Apache SkyWalking | Y | N | Y | N |
| Zipkin | Y | Y | Y | N |
| OpenTracing | Y | Y | Y | N |
Logging
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Kakfa | Y | Y | N | N |
| HTTP Logger | Y | N | N | Y |
| TCP Logger | Y | N | N | Y |
| UDP Logger | Y | N | N | N |
Cluster and High Availability
QPS
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Single Core Performance | Extremely High | High | Low | Extremely High |
Latency
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Minimum latency per request | Excellent | Moderate | Low | Excellent |
Deployment
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Data plane stateless | Y | Y | Y | N |
| Supports Cluster as Configuration Center | Y | N | N | N |
Cluster Management
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Supports configuration and management of multiple clusters | Y | N | N | N |
| Supports isolation of permissions between different clusters | Y | N | N | N |
Multi-Layer Network
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Global deployment, cross-gateway cluster collaboration | Y | N | N | N |
| Automatic selection of optimal paths under topological networks | Y | N | N | N |
| Customized plugins under multiplayer networks | Y | N | N | N |
| Separate deployment with native open source version support | Y | N | N | N |
Dynamic and hot updates
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| All changes are hot updated and take effect in real time | Y | N | N | Y |
| Plugin hot updates | Y | N | Y | N |
| Hot update of the program itself | Y | Y | N | Y |
Operations and Maintenance
CLI
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Command Line Tools | Y | Y | N | Y |
Admin API
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Use REST API for control and easy integration | Y | Y | N | N |
Single Node
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Use yaml file to define all rules | Y | Y | Y | N |
Rollback
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Supports unlimited rollback of operations | Y | N | N | N |
Helm charts
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Easier O&M under k8s | Y | N | N | Y |
Global Plugins
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Simplify operations | Y | Y | Y | N |
Health Check
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Versioning and operational monitoring of data plane nodes | Y | Y | Y | N |
| Provides configuration center status and version information | Y | Y | N | N |
| Node load status monitoring | Y | Y | N | N |
Service Observability
| Feature | API7 | Kong | Zuul2 | NGINX |
|---|---|---|---|---|
| Service Invocation Topology | Y | Y | N | N |
| Data Throughput | Y | Y | Y | N |
| Response time statistics | Y | Y | Y | N |
| Upstream response time statistics | Y | Y | Y | N |
| Status Code Statistics | Y | Y | Y | N |
| API call statistics | Y | Y | N | N |