Architecture
API7 Enterprise is a suite of API management components, including API7 Gateway as its traffic processing layer. API7 Gateway uses a decoupled architecture that separates the management logic (Control Plane) from the request processing logic (Data Plane). This design ensures high availability, security isolation, and independent scalability.
Decoupled architecture
Data Plane deployments generated by the Dashboard connect to the Control Plane over mTLS on port 7943. The DP Manager also accepts HTTP connections without transport encryption on port 7900 for compatibility, so restrict that path to trusted networks. The decoupled architecture allows the Control Plane and Data Plane to run in different environments or regions.
Control plane (CP)
The control plane is the management hub for API7 Gateway. It is a Go-based service that provides the following components:
- Dashboard and Admin API: Provides a web-based interface and a RESTful API for managing all gateway configurations. Default port is
7443(HTTPS). - PostgreSQL Database: Stores all persistent configurations, including services, routes, consumers, and audit logs. PostgreSQL is the primary and recommended storage backend; the Control Plane also supports MySQL and Microsoft SQL Server as alternative backends — see Supported Versions and Interoperability for details.
- DP Manager: Exposes an etcd v3–compatible API on port
7943with mTLS. It also accepts HTTP connections on port7900for compatibility, using an instance token for authentication. Internally, the DP Manager serves this API through an embedded kine shim backed by the Control Plane database, so data plane nodes can use the standard Apache APISIX etcd client to watch configuration without requiring an etcd cluster.
Data plane (DP)
The data plane is the high-performance proxy engine that processes incoming API requests. It is built on OpenResty and Lua.
Core components
- Proxy Engine: Handles HTTP, HTTPS, gRPC, and TCP/UDP traffic. Default ports are
9080(HTTP) and9443(HTTPS). - Stateless Operation: Data plane nodes are stateless. They receive configuration from the control plane and store it in memory for fast access.
- EE Agent: A specialized component (
agent/hook.lua) that handles communication with the control plane, manages shared dictionaries for discovery data, and merges configuration updates.
Health and observability
- Health Endpoints: When the status listener is enabled, each DP node provides
/status(liveness) and/status/ready(readiness) on the configured address and port. The gateway Helm chart enables this listener throughapi7ee.status_endpoint.enabled;api7ee.status_endpoint.portselects the port and defaults to7085. The listener is disabled by default. - Prometheus Metrics: Metrics are exposed on port
9091at/apisix/prometheus/metrics.
CP–DP communication
API7 Gateway uses the same pull/watch model as open-source Apache APISIX for configuration synchronization. Each data plane node runs the standard APISIX etcd client and connects outbound to the DP Manager. Dashboard-generated deployments use port 7943 over mTLS. The DP Manager also accepts HTTP connections on port 7900 with instance-token authentication, but those connections are not encrypted. Once connected, the data plane watches the etcd-compatible key space for configuration changes and applies them to its in-memory cache as soon as they arrive.
The only difference from upstream APISIX is the storage backend: instead of a real etcd cluster, the DP Manager uses kine to translate the etcd v3 API to PostgreSQL reads and writes. From the data plane's perspective, the DP Manager behaves exactly like an etcd cluster.
Secure communication
On port 7943, the data plane presents a client certificate issued by API7's internal CA. The DP Manager validates that certificate before serving configuration data, and the data plane validates the server certificate against its configured CA. Use this mTLS listener for production deployments. Restrict HTTP port 7900 with firewall rules or network policies, and never expose it to the public internet.
Fault tolerance
Because the data plane holds the last-known configuration in memory (and, optionally, on disk), it continues to serve traffic if the control plane becomes unreachable. Only administrative tasks — publishing new routes, adding consumers, rotating certificates — are blocked until the control plane is restored. For enhanced resilience, you can also configure a fallback configuration provider that lets the data plane survive extended CP outages.
Comparison: Open-Source vs. Enterprise
| Feature | Open-Source APISIX | API7 Enterprise |
|---|---|---|
| Primary storage | Standalone etcd cluster | PostgreSQL (via kine etcd shim) |
| Config API exposed to DP | etcd v3 (native) | etcd v3 (compatible, backed by PostgreSQL) |
| Config sync model | Pull / watch | Pull / watch (identical semantics) |
| CP–DP transport | Plain etcd client over gRPC or HTTP | Dashboard-generated deployments use mTLS on port 7943. Port 7900 accepts HTTP with instance-token authentication and should be restricted to trusted networks |
| Management surface | Admin API | Dashboard + Admin API + ADC |
| Scaling | Scale etcd cluster and DP independently | Scale PostgreSQL, CP, and DP independently |
Next steps
- Deploy on Kubernetes — deploy the gateway in a Kubernetes cluster.
- Configure Control Plane — tune CP settings for your environment.
- Configure Data Plane — customize DP proxy behavior.