Getting Started with APISIX: Install, Configure, and Test a High‑Performance API Gateway
This guide introduces APISIX, a high‑performance, extensible microservice API gateway built on Nginx and etcd, outlines its key features, and provides step‑by‑step instructions for installing OpenResty, etcd, launching APISIX, and testing rate‑limiting capabilities.
2019 Oct 17, the subsidiary ZhiLiu Technology API gateway APISIX entered Apache incubation. The author noted that the company’s top OpenResty experts, Wen Ming and Wang Yuansheng, authored "OpenResty Best Practices," which is quite interesting.
APISIX is a high‑performance, extensible microservice API gateway based on Nginx and etcd. Compared with traditional API gateways, APISIX provides load balancing, logging, authentication and other functions through plugins.
Dynamic load balancing: supports dynamic load balancing for different upstream services
Security plugins: built‑in security layer supporting OAuth2, ACL, CORS, dynamic SSL, IP restrictions, etc.
Traffic control plugins: rate limiting, request size limiting, response speed limiting, and more
Analytics and monitoring plugins: visualizing API traffic via Prometheus, Datadog, Runscope, etc.
Logging plugins: record request/response logs and send them via HTTP, TCP, UDP to systems such as StatsD or Syslog
Source code on GitHub: https://github.com/iresty
Compared with
Kongand
Traefik, the source code is much simpler.
Installation
Install OpenResty
Based on OpenResty, remember that
OpenRestyis a high‑performance web platform built on Nginx and Lua.
<ol><li><code>yum install yum-utils</code></li><li><code>yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo</code></li><li><code>yum install -y openresty</code></li></ol>Install etcd
etcdis a strongly consistent key‑value NoSQL database. Unlike Kong, which uses PostgreSQL, etcd is a notable advantage.
<ol><li><code>yum install -y etcd</code></li><li><code>service etcd start</code></li><li><code>yum install -y https://github.com/iresty/apisix/releases/download/v0.8/apisix-0.8-0.el7.noarch.rpm</code></li></ol>Start APISIX
<ol><li><code>sudo apisix start</code></li></ol>Access the dashboard at http://127.0.0.1:9080/apisix/dashboard/ . Note: the login feature is not implemented.
Feature Experience
Goal: implement reverse proxy for web services with rate limiting.
upstream > Add
2. routes > Add
Token bucket rate limiting configuration
rate – flow per second
burst – token bucket capacity
key – header used for limiting
rejected_code – error code returned
Visit ip:9080/ to experience rate limiting
Online Demo Version
The official site provides an online dashboard for exploring APISIX: http://apisix.iresty.com
Java Architecture Diary
Committed to sharing original, high‑quality technical articles; no fluff or promotional content.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.