Giter Site home page Giter Site logo

apioak's Introduction

简体中文 | English

APIOAK

Build Status 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

Features

  • Projects

    • Support project prefix for multi-tenant isolation.

    • Support multi-environment configuration, Production Environment, Pre-launch Environment, Test Environment completely isolated to meet the full life cycle management of CI and CD.

    • Support dynamic weighted Round-Robin load balancing.

    • Support dynamic consistency Hash load balancing.

    • Support dynamic node configuration, dynamic Host configuration.

    • Support upstream service Connection, Send, Read timeout setting.

    • Support plug-in hot plug, project plug-in can be inherited by all routes(APIs) under the project.

    • Support automatic generation of project documents.

    • Support project member management.

  • Routers

    • Support front-end and back-end request routing mapping.

    • Support front-end and back-end request method mapping.

    • Support cross mapping of front and back request parameters.

    • Support request constant parameter definition.

    • Support custom response data and response data type.

    • Support plug-in hot swap.

    • Support Mock request, accelerate the development process of front and back end separation.

    • Supports automatic generation of routing (APIs) documents.

    • Support multi-environment routing (APIs) online and offline.

    • Support multi-environment routing (APIs) one-click replication.

  • Users

    • Support users login and registration.

    • Support users to create, edit and delete.

    • Support users to disable globally.

Installation

System dependencies (OpenResty >= 1.15.8.2luarocks >= 2.3MySQL >= 5.7 or MariaDB >= 10.2, etc.) necessary to install APIOAK on different operating systems, See: Install Dependencies Document.

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

Quickstart

Configure APIOAK

  • Import the database configuration file into MySQL or MariaDB, the configuration file path /path/conf/apioak.sql.

  • Edit database connection information of the database option in the APIOAK configuration file, the configuration file path /path/conf/apioak.yaml.

Launch APIOAK

sudo apioak start

Access APIOAK

  • Enter http://127.0.0.1:10080/apioak/dashboard in the browser to access dashboard management panel.

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

Thanks

Thanks

apioak's People

Contributors

shuaijinchao avatar zanehy avatar blust avatar jacktom520 avatar aayers-ghw avatar code-xiaoda avatar miss-you avatar dandans-dan avatar sffan avatar ralphqi avatar wujunze avatar y-ui avatar zhangbao0325 avatar zhaofangmo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.