apache

APIsix

The Cloud-Native API Gateway
Under Apache License 2.0
By apache

microservices devops iot docker nginx lua api cloud-native kubernetes serverless api-management api-gateway reverse-proxy luajit apigateway loadbalancing apisix

Apache APISIX



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


APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more.


You can use Apache APISIX to handle traditional north-south traffic,
as well as east-west traffic between services.
It can also be used as a k8s ingress controller.


The technical architecture of Apache APISIX:



Community

Features

You can use Apache APISIX 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.



Get Started

  1. Installation


APISIX Installed and tested in the following systems:


CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, ARM64 Ubuntu 18.04


Please refer to install documentation.



  1. Getting started


The getting started guide is a great way to learn the basics of APISIX. Just follow the steps in Getting Started.


Further, you can follow the documentation to try more plugins.



  1. Admin API


Apache APISIX provides REST Admin API to dynamically control the Apache APISIX cluster.



  1. Plugin development


You can refer to plugin development guide, and sample plugin example-plugin's code implementation.
Reading plugin concept would help you learn more about the plugin.


For more documents, please refer to Apache APISIX Documentation site


Benchmark

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


Benchmark script, test method and process has been open source, welcome to try and contribute.


Apache APISIX vs. Kong
Both of them have been covered core features of API gateway

| Features | Apache APISIX | KONG |
| :------------------- | :---------------- | :------- |
| Dynamic upstream | Yes | Yes |
| Dynamic router | Yes | Yes |
| Health check | Yes | Yes |
| Dynamic SSL | Yes | Yes |
| L4 and L7 proxy | Yes | Yes |
| Opentracing | Yes | Yes |
| Custom plugin | Yes | Yes |
| REST API | Yes | Yes |
| CLI | Yes | Yes |


The advantages of Apache APISIX

| Features | Apache APISIX | Kong |
| :-------------------------------------------------------------- | :------------------------------------------------ | :---------------------- |
| Belongs to | Apache Software Foundation | Kong Inc. |
| Tech Architecture | Nginx + etcd | Nginx + Postgres |
| Communication channels | Mail list, Wechat group, QQ group, GitHub, Slack, meetup | GitHub, Freenode, forum |
| Single-core CPU, QPS(enable limit-count and Prometheus plugins) | 18000 | 1700 |
| Latency | 0.2 ms | 2 ms |
| Dubbo | Yes | No |
| Configuration rollback | Yes | No |
| Route with TTL | Yes | No |
| Plug-in hot loading | Yes | No |
| Custom LB and route | Yes | No |
| REST API <--> gRPC transcoding | Yes | No |
| Tengine | Yes | No |
| MQTT | Yes | No |
| Configuration effective time | Event-driven, < 1ms | polling, 5 seconds |
| Dashboard | Yes | No |
| IdP | Yes | No |
| Configuration Center HA | Yes | No |
| Speed limit for a specified time window | Yes | No |
| Support any Nginx variable as routing condition | Yes | No |


Benchmark comparison test details data


Contributor Over Time

visit here to generate Contributor Over Time.




Videos And Articles

User Stories

Who Uses APISIX?

A wide variety of companies and organizations use APISIX for research, production and commercial product, including:



Users are encouraged to add themselves to the Powered By page.


Landscape


  

APISIX enriches the
CNCF API Gateway Landscape.

Logos


Acknowledgments

Inspired by Kong and Orange.


License

Apache 2.0 License