{"repo":"TreeGateway/tree-gateway","free":true,"listed":false,"github":"https://github.com/TreeGateway/tree-gateway","clone":"git clone https://github.com/TreeGateway/tree-gateway.git","description":"This is a full featured and free API Gateway","language":"TypeScript","stars":195,"topics":["api-gateway","microservices","api","proxy","api-management","tree-gateway","microservice","javascript","nodejs","node-js"],"license":"MIT","category":"networking-infra","readme_excerpt":"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 op","default_branch":null,"files":null,"tree":[],"storefront":"/r/TreeGateway","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/TreeGateway/tree-gateway/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}