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 |