[简体中文](README_CN.md) | [English](README.md)
# APIOAK
[![Build Status](https://travis-ci.org/apioak/apioak.svg?branch=master)](https://travis-ci.org/apioak/apioak)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/apioak/apioak/blob/master/LICENSE)
APIOAK provides full life cycle management of API release, management, and operation and maintenance. Assist users in simple, fast, low-cost, low-risk implementation of microservice aggregation, front-end and back-end separation, system integration, and open functions and data to partners and developers.
## Why APIOAK
APIOAK performance is almost comparable to native `Nginx`, and provides dynamic authentication, flow control and other functions through the plug-in mechanism, and supports custom plug-ins according to specific business scenarios. It also provides a multiple of dynamic load balancing strategies and a powerful and easy-to-use console management panel.
![APIOAK](doc/images/APIOAK-process.png)
## Features
- **Serve**
- Support project multi-service configuration for multi-tenant isolation.
- Support custom multi-domain name configuration, and manage multiple domain names under the same service.
- Support multi-domain name hot swapping under service.
- Support service-level plug-in configuration, and execute plugins with the priority of `routing` > `service`.
- Support service-level plug-in hot-swap.
- Support service-level plug-ins can be inherited by all routes under the service.
- **Routers**
- Support route binding upstream configuration.
- Support routing without upstream automatic resolution service domain name configuration.
- Support route matching `header` configuration.
- Supports multi-request method configuration for routing.
- Support routing wildcard `*` matching.
- Support upstream automatic resolution (upstream can not be configured).
- Support `round-robin` load balancing with upstream dynamic weighting.
- Support upstream dynamic consistency `hash` load balancing.
- Support upstream dynamic node configuration, dynamic `Host` configuration.
- Support upstream service `Connect`, `Send`, `Read` timeout settings.
- Support custom response data and response data types.
- Supports router-level multi-plugin configuration.
- Support routing-level plug-in hot-swapping.
- Support `Mock` request to speed up the development process of front-end and back-end separation.
- Supports one-click copying of routes (supports routing plug-in binding copying).
- **Users**
- Support user registration, login, and logout.
## Installation
For the system dependencies necessary to install `APIOAK` on different operating systems (`OpenResty >= 1.15.8.2`, `luarocks >= 2.3`, `Consul >= 1.13`, etc.), please refer to: [Dependency Installation Documentation]( doc/en_US/install-dependencies.md).
> Installation via LuaRocks
```shell
sudo luarocks install apioak
```
Please get corresponding version of `RPM` or `DEB` package in [Releases](https://github.com/apioak/apioak/releases).
> Installation via RPM Package (CentOS 7)
```shell
sudo yum -y install aoioak-{VERSION}-1.el7.x86_64.rpm
```
> Installation via DEB Package (Ubuntu 18)
```shell
sudo dpkg -i apioak-{VERSION}-1_amd64.deb
```
Install by downloading the source code, find the source package of the corresponding version in [Releases](https://github.com/apioak/apioak/releases), or directly use `git` to clone the project.
> Install from source
```shell
sudo make deps && sudo make install
```
## Quickstart
> Configure APIOAK
- Edit the connection information of the `consul` item in the `APIOAK` configuration file, the configuration file path `/path/conf/apioak.yaml`.
> Check dependencies and configuration
```bash
sudo apioak env
```
> Launch APIOAK
```bash
sudo apioak start
```
> Access APIOAK
- Enter `http://127.0.0.1:10888` in the browser to access `Welcome to APIOAK`.
At this point, `APIOAK` has all been installed and configured, please enjoy it.
## Benchmark
> Test environment & parameters
- Use Google Cloud N1 series basic version (1 vCPU + 3.75 GB RAM) server for testing.
- Runs benchmark for 20 seconds, using 2 threads, keeping 200 HTTP connections open.
> RTT & QPS
```bash
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.65s 584.41ms 3.66s 57.25%
Requests/sec: 24012.38
```
> Latency Distribution
```bash
50.000% 2.63s
75.000% 3.18s
90.000% 3.44s
99.000% 3.60s
99.900% 3.64s
99.990% 3.65s
99.999% 3.66s
100.000% 3.66s
```
## FlameGraph
![FlameGraph](doc/images/APIOAK-flamegraph.svg)
## Documentation
See [APIOAK's Documentation](https://github.com/apioak/apioak-document).
## Landscape
<img src="https://landscape.cncf.io/images/left-logo.svg" width="150"> <img src="https://landscape.cncf.io/images/right-logo.svg" width="200" />
APIOAK enriches the [CNCF API Gateway Landscape](https://landscape.cncf.io/card-mode?category=api-gateway&grouping=category)
## Communicate
Welcome to join the APIOAK gateway exchange group for common communication and progress.
<img width="260px;" src="./doc/images/APIOAK-QQ.png">
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
APIOAK分布式API网关 v0.6.1 (141个子文件)
apioak 149B
apioak.com.cer 2KB
nginx.conf 5KB
COPYRIGHT 16KB
apioak.crt 1KB
.gitignore 343B
APIOAK-dashboard.jpg 1.07MB
APIOAK-thanks.jpg 133KB
apioak.com.key 2KB
apioak.key 2KB
LICENSE 11KB
balancer.lua 15KB
router.lua 14KB
common.lua 10KB
router.lua 8KB
router.lua 8KB
service.lua 6KB
service.lua 6KB
certificate.lua 6KB
upstream_node.lua 6KB
apioak.lua 6KB
upstream.lua 6KB
plugin.lua 6KB
upstream.lua 5KB
upstream_node.lua 5KB
certificate.lua 5KB
certificate.lua 5KB
upstream_node.lua 4KB
plugin.lua 4KB
plugin.lua 4KB
env.lua 3KB
limit-conn.lua 3KB
admin.lua 3KB
router.lua 3KB
request.lua 2KB
upstream.lua 2KB
cors.lua 2KB
service.lua 2KB
limit-count.lua 2KB
limit-req.lua 2KB
init.lua 2KB
const.lua 2KB
request.lua 2KB
config.lua 1KB
common.lua 1KB
common.lua 1KB
controller.lua 1KB
certificate.lua 1KB
json.lua 1KB
response.lua 1KB
schema-cors.lua 1KB
plugin.lua 1KB
cache.lua 1KB
jwt-auth.lua 1010B
mock.lua 1001B
consul.lua 1001B
plugin.lua 955B
key-auth.lua 917B
string.lua 896B
dao.lua 836B
kill.lua 818B
schema-mock.lua 773B
pdk.lua 634B
version.lua 609B
time.lua 570B
nginx_signals.lua 560B
help.lua 557B
shared.lua 542B
schema-limit-conn.lua 534B
table.lua 511B
consul.lua 477B
sys.lua 442B
schema.lua 439B
dao.lua 418B
meta.lua 414B
log.lua 405B
schema-limit-req.lua 395B
schema-limit-count.lua 385B
start.lua 359B
plugin_common.lua 356B
admin.lua 338B
restart.lua 256B
schema-jwt-auth.lua 245B
schema-key-auth.lua 245B
reload.lua 212B
test.lua 208B
quit.lua 207B
stop.lua 207B
schema.lua 190B
tablepool.lua 127B
ctx.lua 0B
.luacheckrc 74B
Makefile 5KB
CHANGELOG.md 7KB
CHANGELOG_CN.md 6KB
README.md 5KB
README_CN.md 5KB
install-dependencies.md 3KB
install-dependencies.md 3KB
CONTRIBUTING_CN.md 2KB
共 141 条
- 1
- 2
资源评论
csdn1789999
- 粉丝: 0
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功