Skip to main content

How does Apache APISIX connect to API7 Cloud

Estimated reading time: 0 min read

In the Overview section, we know the data plane solution of API7 Cloud is Apache APISIX, API7 Cloud uses the official Apache APISIX distributions as the base, with an extra Lua module to communicate with API7 Cloud.

note

Currently, API7 Cloud only supports APISIX/2.13.0 and above.

The Data Flow

The data flow between Apache APISIX and API7 Cloud is as follows:

  1. Apache APISIX will periodically send Prometheus metrics and stats data (e.g., number of API calls) to API7 Cloud.
  2. API7 Cloud will send the configuration changes to Apache APISIX (leverage the Apache APISIX configuration center).

The Control Flow

API7 Cloud only communicates with registered Apache APISIX instances. So before the data flow, Apache APISIX needs to register itself to API7 Cloud. After the initial registration, Apache APISIX will send periodic heartbeat probes (per 10s) to keep it alive.

How to check if the Apache APISIX instance is registered

You can see registered Apache APISIX instances on the API7 Cloud overview page (Data Plane Instances section).

Apache APISIX Status

tip

Learn How to Deploy Apache APISIX for more details.

The API7 Cloud Lua Module

The Data Flow and Control Flow logics are not the standard parts of the open-source Apache APISIX, we implement them in a separate Lua module: Cloud Lua Module.

And thanks to the Lua Module Hook feature, we mount this module easily, without any modifications to the Apache APISIX core.

The mTLS Support

No matter the Data Flow or the Control Flow, the Apache APISIX instance can communicate with API7 Cloud securely with the support of mTLS. The certificate and private key can be downloaded from API7 Cloud and should configure for the Apache APISIX instance.

The Cloud CLI

Users don't have to do the above steps (mount the Cloud Lua Module and configure the certificate) manually as we use Cloud CLI to manipulate them. So the above steps are imperceptible to users.

What's Next