mangotomato / guardian

guardian for your APIs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Guardian Logo

Guardian: Guardian of your APIs (http/https)

Introduction

We have the requirement for publishing our service to public more urgent as the rapid bussiness explosion. So, Guardian comes up. As a API gateway, guardian is a edge service, provide single entry to access backend service. Guardian designed for protecting backend service.

Guardian has the following features:

  • API Lifecycle Management
  1. Support API define, release, downline.
  2. Support API's version management, version rollback.
  • Dynamic Routing
  1. Support ant-style URL mapping, dynamic routing to origin server.
  2. Support upstream healthcheck.
  • Dynamic Filters

    Support dynamic loading filter, no need to restart application.

  • Traffic Control
  1. Flow control can be used to control the visited frequency of the API, the request frequency of the APP, and the request frequency of the user.
  2. The time unit of flow control can be minutes, hours, and days.
  • Request Verification
  1. Support parameter type, parameter value (range, enumeration, regular) check, invalid check will be directly rejected, to reduce the waste of resources caused by invalid requests to the backend.
  • Data Transform

    Pre- and post-end data translation is implemented by configuring mapping rules.

  • Support for data conversion of front-end requests.

  • Support for data conversion that returns results.

  • Botblocker

    Provider a basic anti-replite filter.

  • Safety
  1. Support AppKey, OpenID-Connect authentication, support HMAC (SHA-1, SHA-256) algorithm for signature.
  2. Anti-attack, anti-injection, request anti-replay, request anti-tampering.
  • Real-time Monitor
  1. Provide visual API real-time monitoring.
  2. Configurable warning mode (SMS, Email), subscribe to warning information.

Documentation

See the 中文文档 for Chinese document.

Overall structure

  1. Open platform gateway

Open-platform gateway

  1. Microservice gateway

Microservice gateway

Design

Guardian Adapted zuul's filter design, below image shows zuul request lifecycle, filter is everywhere. zuul filter lifecycle

Guardian introduced the Servlet 3.0 asynchronous feature,which can hold more requests. async servlet

About

guardian for your APIs


Languages

Language:Java 86.5%Language:Groovy 13.5%