commit | b7faf50d804194e303a4ffd990be693bea0b6407 | [log] [tgz] |
---|---|---|
author | nic-chen <johz@163.com> | Sun Feb 16 12:26:43 2020 +0800 |
committer | nic-chen <johz@163.com> | Sun Feb 16 12:26:43 2020 +0800 |
tree | a8d84b1511f82d7926150c314065952aa18947c3 | |
parent | a30c170f2b6580409d024bfe95bca86d0e6d8973 [diff] |
update: apisix version
APISIX is a cloud-native microservices API gateway, delivering the ultimate performance, security, open source and scalable platform for all your APIs and microservices.
APISIX is based on Nginx and etcd. Compared with traditional API gateways, APISIX has dynamic routing and plug-in hot loading, which is especially suitable for API management under micro-service system.
If you are building a website, mobile device or IoT (Internet of Things) application, you may need to use an API gateway to handle interface traffic.
APISIX is a cloud-based microservices API gateway that handles traditional north-south traffic and handles east-west traffic between services, and can also be used as a k8s ingress controller.
APISIX provides dynamic load balancing, authentication, rate limiting, other plugins through plugin mechanisms, and supports plugins you develop yourself.
For more detailed information, see the White Paper.
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
Highly scalable
rewrite
, access
, header filer
, body filter
and log
, also allows to hook the balancer
stage.balancer
phase.APISIX Installed and tested in the following systems(OpenResty MUST >= 1.15.8.1, or Tengine >= 2.3.2):
CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, ARM64 Ubuntu 18.04
Steps to install APISIX:
sudo apisix start
Limit count plugin is a good start to try APISIX, you can follow the documentation of limit count.
Then you can try more plugins.
APISIX has built-in support for Dashboard, as follows:
Please make sure your machine has Node 8.12.0 or higher, or there will occur build issues.
Download the source codes of Dashboard:
git clone https://github.com/apache/incubator-apisix-dashboard.git
Install yarn
Install dependencies then run build command:
yarn && yarn build:prod
/dist
directory to the apisix/dashboard
directory, open http://127.0.0.1:9080/apisix/dashboard/
in the browser. Do not need to fill the user name and password, log in directly.The dashboard allows any remote IP by default, and you can modify allow_admin
in conf/config.yaml
by yourself, to list the list of IPs allowed to access.
We provide an online dashboard demo version, make it easier for you to understand APISIX.
Using AWS‘s 8 core server, APISIX’s QPS reach to 140,000 with a latency of only 0.2 ms.
Document Indexing for Apache APISIX
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, 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 |
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.
See CONTRIBUTING for details on submitting patches and the contribution workflow.
Inspired by Kong and Orange.