title | keywords | description | |||
---|---|---|---|---|---|
Architecture |
|
Architecture of Apache APISIX—the Cloud Native API Gateway. |
APISIX is built on top of Nginx and ngx_lua leveraging the power offered by LuaJIT. See Why Apache APISIX chose Nginx and Lua to build API Gateway?.
APISIX has two main parts:
- APISIX core, Lua plugin, multi-language Plugin runtime, and the WASM plugin runtime.
- Built-in Plugins that adds features for observability, security, traffic control, etc.
The APISIX core handles the important functions like matching Routes, load balancing, service discovery, configuration management, and provides a management API. It also includes APISIX Plugin runtime supporting Lua and multilingual Plugins (Go, Java , Python, JavaScript, etc) including the experimental WASM Plugin runtime.
APISIX also has a set of built-in Plugins that adds features like authentication, security, observability, etc. They are written in Lua.
The diagram below shows how APISIX handles an incoming request and applies corresponding Plugins:
The chart below shows the order in which different types of Plugin are applied to a request: