commit | c38e94f20144b0ba01018970fa954c935a325ac1 | [log] [tgz] |
---|---|---|
author | Bisakh <bisakhmondal00@gmail.com> | Sun Jan 16 19:08:57 2022 +0530 |
committer | GitHub <noreply@github.com> | Sun Jan 16 21:38:57 2022 +0800 |
tree | 5a4a0349f8680d1e2602fbd3e2e05dd54e2434bb | |
parent | 7947350d21bc53b783914b8cad38f3c81211c9c5 [diff] |
chore: streamline error checking process (#6103)
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:
#ApacheAPISIX
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.
All platforms
Multi protocols
client_id
, both support MQTT 3.1.*, 5.0.Full Dynamic
host
, uri
, schema
, enable_websocket
, headers
of the request before send to upstream.Fine-grained routing
cookie
, args
, etc. as routing conditions to implement canary release, A/B testing, etc.{"arg_age", ">", 24}
Security
OPS friendly
allow_admin
field in conf/config.yaml
to specify a list of IPs that are allowed to call the Admin API. Also, note that the Admin API uses key auth to verify the identity of the caller. The admin_key
field in conf/config.yaml
needs to be modified before deployment to ensure security.Highly scalable
rewrite
, access
, header filter
, body filter
and log
, also allows to hook the balancer
stage.balancer
phase.Multi-Language support
RPC
and WASM
. Serverless
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.
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.
Admin API
Apache APISIX provides REST Admin API to dynamically control the Apache APISIX cluster.
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
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.
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 |
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 |
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
visit here to generate Contributor Over Time.
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.
Inspired by Kong and Orange.