Skip to main content
Version: 3.0

Architecture

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:

  1. APISIX core, Lua plugin, multi-language Plugin runtime, and the WASM plugin runtime.
  2. 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.

Request handling process#

The diagram below shows how APISIX handles an incoming request and applies corresponding Plugins:

Plugin hierarchy#

The chart below shows the order in which different types of Plugin are applied to a request: