Tree Gateway turns easy the creation of big clusters.
Support clusters of redis to share configurations, circuitbreaker states, cached content and so on.
Auto discovery for cluster nodes.
Very low resources footprint.
Administration
The gateway can be configured remotelly. 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;
CLI - A command line tool.
Circuit Breaker
A fast Circuit Breaker to fast fail your responses when your API is having problems to work. It support custom handlers for events like “open” or “close” circuit.
Monitoring and Analytics
Real Time Monitoring and Analytics. Allow you to collect statistics and monitor the state of your APIs and receive notifications about any problem.
Routing
A flexible and robust Routing system that allows any kind onf customized request pipeline. A plugable engine allow any kind of transformations or verifications to your API requests.
Authentication
More than 300 strategies available to authenticate your users through an easy passportjs integration, including support to JWT tokens, Oauth, Basic and many others. Custom strategies can also be writen directly in Javascript.
Rate Limits
To control quotas for your customers and to define actions to be taken when any quota is exceeded (And again, all customizations can be written as simple javascript functions).
Filter
You can create pluggable filters to process common services in a standard manner without requiring changes to core request processing code. The filters intercept incoming requests and outgoing responses, allowing preprocessing and post-processing, and these filters can be added or removed unobstrusively without changing existing code.
Caching
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 HTTP headers;
At a server level - Caching your APIs responses in memory (using redis).