apisix README

The project's README from github.com/apache/apisix. As one markdown file: README.md.

Apache APISIX API Gateway | AI Gateway

APISIX logo

Build Status License GitHub release GitHub stars Docker Pulls Commit activity GitHub issues Slack

Apache APISIX is a dynamic, real-time, high-performance API Gateway.

APISIX API Gateway provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more. You can use it to handle traditional north-south traffic, as well as east-west traffic between services. It can also be used as a Kubernetes ingress controller.

Table of Contents

Why APISIX

APISIX is built on top of NGINX and etcd. Compared with traditional API gateways, APISIX has dynamic routing and hot-loading of plugins, which is especially suitable for API management under a microservice architecture.

The technical architecture of Apache APISIX:

Technical architecture of Apache APISIX

AI Gateway

APISIX can serve as an AI Gateway through its flexible plugin system, providing:

APISIX also provides the mcp-bridge plugin to seamlessly convert stdio-based MCP servers to scalable HTTP SSE services.

Get Started

Install and run APISIX with a single command using the quickstart script (requires Docker):

curl -sL https://run.api7.ai/apisix/quickstart | sh

This starts APISIX (listening on port 9080) together with its etcd configuration store. Verify it is running:

curl "http://127.0.0.1:9080" --head | grep Server

Create your first route via the Admin API (port 9180) to proxy requests to an upstream service:

curl -i "http://127.0.0.1:9180/apisix/admin/routes/1" -X PUT -d '
{
  "uri": "/get",
  "upstream": {
    "type": "roundrobin",
    "nodes": {
      "httpbin.org:80": 1
    }
  }
}'

Send a request through APISIX to confirm the route works:

curl "http://127.0.0.1:9080/get"

To learn more, follow the Getting Started guide and the installation documentation for other deployment methods. To extend APISIX, see the plugin development guide, the plugin concept, and the REST Admin API reference.

For more documents, please refer to the Apache APISIX Documentation site.

Features

You can use APISIX API Gateway as a traffic entrance to process all business data, including dynamic routing, dynamic upstream, dynamic certificates, A/B testing, canary release, blue-green deployment, limit rate, defense against malicious attacks, metrics, monitoring alarms, service observability, service governance, etc.

Benchmark

Using AWS's eight-core server, APISIX's QPS reaches 140,000 with a latency of only 0.2 ms.

Benchmark script has been open sourced, welcome to try and contribute.

APISIX also works perfectly in AWS graviton3 C7g.

Community

User Stories

Who Uses APISIX API Gateway?

A wide variety of companies and organizations use APISIX API Gateway for research, production and commercial product, below are some of them:

Logos

Acknowledgments

Inspired by Kong and Orange.

License

Apache 2.0 License

apisix (apache/apisix)

Searching Database…

17.2K ·GitHub
What is this?Apache APISIX is an open-source, dynamic, real-time, high-performance API Gateway that also serves as an AI Gateway. It provides traffic management — load balancing, canary release, circuit breaking, authentication, observability — for both north-south and east-west traffic.
Is this a service I deploy in front of my apps, or a library I code against?A standalone gateway service you deploy: it is built on NGINX with etcd as its configuration store, and you manage it at runtime through a REST Admin API.
How do I take it for a quick spin?Run the quickstart script (it requires Docker): it starts APISIX listening on port 9080 together with its etcd configuration store. Then create your first route via the Admin API on port 9180 and send a test request through it.
Does etcd have to run separately, or is it bundled?The quickstart brings etcd up alongside APISIX. For production you can configure multiple etcd addresses in one cluster for high availability, or run standalone mode that loads route rules from a local YAML file — friendly for Kubernetes.
Is the Admin API locked down by default?Yes — it only accepts requests from 127.0.0.1 out of the box; you edit the allowadmin field in conf/config.yaml to allow other IPs, and callers authenticate with key auth.
What makes it different from traditional API gateways?Dynamic routing and hot-loading of plugins without restarts, which the project says makes it especially suitable for API management under a microservice architecture. It was inspired by Kong and Orange.
What does it offer for ops and monitoring?Prometheus metrics, Zipkin tracing and Apache SkyWalking APM, access-log exports to Kafka, ClickHouse, Elasticsearch, Datadog, Splunk and others, a dashboard, and stateless nodes that cluster through etcd.
What are similar projects?kong, tyk, busbar, istio, tengine, coredns, evenfire, ingress-nginx
Creator
apache
Size
47.7 MB
Stars
17.2K
Age
7y
Commits · 90 Days