apioak / apioak

Full Lifecycle Management API Gateway.

Home Page:https://apioak.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apioak-Master License-Apache

简体中文 | English

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

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.

Installation via LuaRocks

sudo luarocks install apioak

Please get corresponding version of RPM or DEB package in Releases.

Installation via RPM Package (CentOS 7)

sudo yum -y install aoioak-{VERSION}-1.el7.x86_64.rpm

Installation via DEB Package (Ubuntu 18)

sudo dpkg -i apioak-{VERSION}-1_amd64.deb

Install by downloading the source code, find the source package of the corresponding version in Releases, or directly use git to clone the project.

Install from source

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

sudo apioak env

Launch APIOAK

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

Thread Stats   Avg      Stdev     Max   +/- Stdev
Latency       2.65s   584.41ms   3.66s    57.25%
Requests/sec:  24012.38

Latency Distribution

 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

Documentation

See APIOAK's Documentation.

Landscape

  

APIOAK enriches the CNCF API Gateway Landscape

Communicate

Welcome to join the APIOAK gateway exchange group for common communication and progress.

About

Full Lifecycle Management API Gateway.

https://apioak.com/

License:Apache License 2.0


Languages

Language:Lua 78.0%Language:Perl 20.4%Language:Makefile 1.7%