All Projects → TreeGateway → Tree Gateway

TreeGateway / Tree Gateway

Licence: mit
This is a full featured and free API Gateway

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Tree Gateway

Manba
HTTP API Gateway
Stars: ✭ 3,000 (+1775%)
Mutual labels:  api, microservice, api-gateway, proxy, gateway, circuit-breaker
Goku Api Gateway
A Powerful HTTP API Gateway in pure golang!Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang开发的微服务网关,能够实现高性能 HTTP API 转发、服务编排、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行 API 服务治理、提高 API 服务的稳定性和安全性。
Stars: ✭ 2,773 (+1633.13%)
Mutual labels:  api, microservices, api-gateway, proxy, gateway
Gravitee Gateway
Gravitee.io - API Management - OpenSource API Gateway
Stars: ✭ 1,123 (+601.88%)
Mutual labels:  api, microservices, api-gateway, api-management, gateway
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (-22.5%)
Mutual labels:  microservices, microservice, api-gateway, proxy, gateway
Apisix
The Cloud-Native API Gateway
Stars: ✭ 7,920 (+4850%)
Mutual labels:  api, microservices, api-gateway, api-management, apigateway
Tenso
Tenso is an HTTP REST API framework
Stars: ✭ 167 (+4.38%)
Mutual labels:  api, microservices, microservice, api-gateway, gateway
Fusio
Open source API management platform
Stars: ✭ 946 (+491.25%)
Mutual labels:  api, microservice, api-gateway, api-management
Kong
🦍 The Cloud-Native API Gateway
Stars: ✭ 30,838 (+19173.75%)
Mutual labels:  microservices, microservice, api-gateway, api-management
Janus
An API Gateway written in Go
Stars: ✭ 2,249 (+1305.63%)
Mutual labels:  api, microservices, api-gateway, proxy
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+5174.38%)
Mutual labels:  api, microservices, microservice, api-gateway
Apioak
Full Lifecycle Management API Gateway.
Stars: ✭ 335 (+109.38%)
Mutual labels:  microservice, api-gateway, gateway, apigateway
Product Apim
Welcome to the WSO2 API Manager source code! For info on working with the WSO2 API Manager repository and contributing code, click the link below.
Stars: ✭ 508 (+217.5%)
Mutual labels:  microservices, api-gateway, api-management, gateway
Tyk
Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols
Stars: ✭ 6,968 (+4255%)
Mutual labels:  api, microservices, api-gateway, api-management
Annon.api
Configurable API gateway that acts as a reverse proxy with a plugin system.
Stars: ✭ 306 (+91.25%)
Mutual labels:  api, api-gateway, proxy, gateway
Istio
Connect, secure, control, and observe services.
Stars: ✭ 28,970 (+18006.25%)
Mutual labels:  microservices, microservice, api-management, circuit-breaker
Apisix Docker
the docker for Apache APISIX
Stars: ✭ 119 (-25.62%)
Mutual labels:  api, microservices, api-gateway, api-management
Enroute
EnRoute Universal Gateway: Cloud Native API gateway with OpenAPI support and free L7 rate-limiting built on Envoy proxy
Stars: ✭ 126 (-21.25%)
Mutual labels:  api-gateway, api-management, apigateway
Zato
ESB, SOA, REST, APIs and Cloud Integrations in Python
Stars: ✭ 889 (+455.63%)
Mutual labels:  api, microservices, api-gateway
Altair
Lightweight and Robust API Gateway written in Go
Stars: ✭ 34 (-78.75%)
Mutual labels:  api, microservice, api-gateway
Apisix Ingress Controller
ingress controller for K8s
Stars: ✭ 139 (-13.12%)
Mutual labels:  api, microservices, apigateway

npm version Build Status Coverage Status Known Vulnerabilities

A full featured and free API Gateway in Node JS

Why do I need an API Gateway?

An API gateway provides a single, unified entry point across one or more internal APIs. It is an important element in any microservice architecture.

 

Why Tree Gateway?

Tree Gateway is a free and open source solution writen in Node JS that has a complete and customizable pipeline to handle your requests. It provides:

  • Authentication: More than 480 strategies available through an easy passportjs integration, including support to JWT tokens, Oauth, Basic and many others.
  • A flexible and robust Routing system that allows any kind of customized request pipeline.
  • Rate limits - To control quotas for your customers and to define actions to be taken when any quota is exceeded.
  • Caching system - Allow you to easily inject and control caching behavior for your APIs. Tree Gateway provides two kinds of cache:
    • At browser level - Intercepting the responses and controling how the HTTP cache headers are used.
    • At a server level - Caching responses for your APIs in memory (using the redis database).
  • Easy Service Discovery, using your preffered registry.
  • Integrated CircuitBreaker - A fast circuitbreaker to fast fail your responses when your API is having problems to work. It support custom handlers for events like "open" or "close" circuit.
  • Real Time Monitoring and Analytics -
    • Collect statistics about any access to your APIs. Capture any event, like a cache hit on a cache entrance, a circuitbreaker open circuit or an authentication attempt.
    • A very flexible and powerfull log system, that can be integrated with any service like logstash, timescale, loggly or new relic.
  • Easy Administration - The gateway can be configured remotelly. And no restart is needed. Any API configuration can be "hot" changed and all configurations are propagated to other tree-gateway cluster nodes with no pain. The gateway can be configured through:
    • Admin API - A REST API that can be invoked through HTTP;
    • SDK - A Node JS SDK that can be used to configure the Gateway (or a cluster of gateways) programmatically;
    • CLI - A command line tool can be used to configure using shell commands or scripts.
  • Focused on Performance and High Availability - Turn easy the creation of big clusters.
    • Support clusters of redis to share configurations, circuitbreaker states, cached content and so on.
    • Automatically propagate events to all cluster nodes.
    • Auto discovery for cluster nodes.
    • Very low resources footprint.
  • Everything can be extended or customized using only Javascript. All plugins can be written in pure Javascript.

Watch the Quickstart video

Quick Start

Install the gateway:

npm install -g tree-gateway

Run it:

treeGateway

Then map your first API. Just create an YML file (my-api.yaml):

---
name: Test
version: 1.0.0
path: "/test"
proxy:
  target:
    host: http://httpbin.org
  timeout: five seconds

And use the Tree Gateway CLI to configure it into the gateway:

treeGatewayConfig apis --add ./my-api.yaml

And its done. You can test it accessing in your browser: http://localhost:8000/test/get

Gateway Configuration Reference

Check the Docs.

Migrating from previous versions

Check our migration guide.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].