Code Monkey home page Code Monkey logo

apinto's Introduction

Apinto

Go Report Card Releases LICENSE apinto-水平蓝

Apinto is a microservice gateway developed based on golang. It can achieve the purposes of high-performance HTTP API forwarding, multi tenant management, API access control, etc. it has a powerful user-defined plug-in system, which can be expanded by itself, and can quickly help enterprises manage API services and improve the stability and security of API services. In the future, we will provide the plug-in market. Through the strong plug-in expansion ability of Apinto, users can expand Apinto plug-ins as needed like Lego blocks to enrich Apinto capabilities.

Note:The main branch is the main development branch. Frequent updates may lead to unstable use. If you need to use a stable version, please look release

Summary / 中文介绍

Why Apinto

Apinto API gateway is a microservice gateway running on the service boundary of enterprise system. When you build websites, apps, iots and even open API transactions, Apinto API gateway can help you extract duplicate components from your internal system and run them on Apinto gateway, such as user authorization, access control, firewall, data conversion, etc; Moreover, Apinto provides the function of service arrangement, so that enterprises can quickly obtain the required data from various services and realize rapid response to business.

Apinto API gateway has the following advantages:

  • Completely open source: the Apinto project is initiated and maintained by eolinker for a long time. We hope to work with global developers to build the infrastructure of micro service ecology.
  • Excellent performance: under the same environment, Apinto is about 50% faster than nginx, Kong and other products, and its stability is also optimized.
  • Rich functions: Apinto provides all the functions of a standard gateway, and you can quickly connect your micro services and manage network traffic.
  • Extremely low use and maintenance cost: Apinto is an open source gateway developed in pure go language. It has no cumbersome deployment and no external product dependence. It only needs to download and run, which is extremely simple.
  • Good scalability: most of Apinto's functions are modular, so you can easily expand its capabilities.

In a word, Apinto API gateway enables the business development team to focus more on business implementation.

Stargazers over time

Feture

Feture Description
Dynamic router Match the corresponding service by setting parameters such as location, query, header, host and method
Service discovery Support such as Eureka, Nacos and Consul
Load Balance Support polling weight algorithm
Authentication Anonymous, basic, apikey, JWT, AK / SK authentication
SSL certificate Manage multiple certificates
Access Domain The access domain can be set for the gateway
Health check Support health check of load nodes to ensure service robustness
Protocol HTTP/HTTPS、Webservice
Plugin The process is plug-in, and the required modules are loaded on demand
OPEN API Gateway configuration using open API is supported
Log Provide the operation log of the node, and set the level output of the log
Multiple log output The node's request log can be output to different log receivers, such as file, NSQ, Kafka,etc
Cli The gateway is controlled by cli command. The plug-in installation, download, opening and closing of the gateway can be controlled by one click command
Black and white list Support setting black-and-white list IP to intercept illegal IP
Parameter mapping Mapping the request parameters of the client to the forwarding request, you can change the location and name of the parameters as needed
Additional parameters When forwarding the request, add back-end verification parameters, such as apikey, etc
Proxy rewrite It supports rewriting of 'scheme', 'URI', 'host', and adding or deleting the value of the request header of the forwarding request
flow control Intercept abnormal traffic

RoadMap

  • UI: The gateway configuration can be operated through the UI interface, and different UI interfaces (Themes) can be customized by loading as required
  • Multi protocol:Support a variety of protocols, including but not limited to grpc, websocket, TCP / UDP and Dubbo
  • Plugin Market:Because Apinto mainly loads the required modules through plug-in loading, users can compile the required functions into plug-ins, or download and update the plug-ins developed by contributors from the plug-in market for one click installation
  • Service Orchestration:An orchestration API corresponds to multiple backends. The input parameters of backends support client input and parameter transfer between backends; The returned data of backend supports filtering, deleting, moving, renaming, unpacking and packaging of fields; The orchestration API can set the exception return when the orchestration call fails
  • Monitor:Capture the gateway request data and export it to Promethus and graphite for analysis
  • .....

RoadMap for 2021

image

Benchmark

image

Deployment

Get start

  1. Download and unzip the installation package (here is an example of the installation package of version v0.5.1)
wget https://github.com/eolinker/apinto/releases/download/v0.5.1/apinto-v0.5.1.linux.x64.tar.gz && tar -zxvf apinto-v0.5.1.linux.x64.tar.gz && cd apinto
  1. Start gateway:
./apinto start

Contact

About

Eolink is a leading API management service provider, providing professional API R & D management, API automation testing, API monitoring, API gateway and other services to more than 3000 enterprises around the world. It is the first enterprise to formulate API R & D management industry specifications for ITSS (China Electronics Industry Standardization Technology Association).

Official website:https://www.eolink.com Download PC desktop for free:https://www.eolink.com/pc/

apinto's People

Contributors

chen2eric avatar dot-liu avatar hmzzrcs avatar wuk0 avatar

Watchers

 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.