All Projects → KejawenLab → Semartapigateway

KejawenLab / Semartapigateway

Licence: mit
Simple Yet Powerful Api Gateway Based On Symfony Component

Projects that are alternatives of or similar to Semartapigateway

Aws Serverless Ecommerce Platform
Serverless Ecommerce Platform is a sample implementation of a serverless backend for an e-commerce website. This sample is not meant to be used as an e-commerce platform as-is, but as an inspiration on how to build event-driven serverless microservices on AWS.
Stars: ✭ 469 (+1703.85%)
Mutual labels:  api-gateway
Apiman
API Management
Stars: ✭ 606 (+2230.77%)
Mutual labels:  api-gateway
Serverless Domain Manager
Serverless plugin for managing custom domains with API Gateways.
Stars: ✭ 783 (+2911.54%)
Mutual labels:  api-gateway
Microservices
Microservices from Design to Deployment 中文版 《微服务:从设计到部署》
Stars: ✭ 4,637 (+17734.62%)
Mutual labels:  api-gateway
Apisix
The Cloud-Native API Gateway
Stars: ✭ 7,920 (+30361.54%)
Mutual labels:  api-gateway
Aws Mobile React Sample
A React Starter App that displays how web developers can integrate their front end with AWS on the backend. The App interacts with AWS Cognito, API Gateway, Lambda and DynamoDB on the backend.
Stars: ✭ 650 (+2400%)
Mutual labels:  api-gateway
Vrata
API gateway implemented in PHP and Lumen
Stars: ✭ 421 (+1519.23%)
Mutual labels:  api-gateway
Sample Camel Spring Boot
three samples in different branches that illustrates usage of apache camel as microservice framework providing integration with consul, hystrix, ribbon and other tools
Stars: ✭ 24 (-7.69%)
Mutual labels:  api-gateway
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 (+1853.85%)
Mutual labels:  api-gateway
Tyk
Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols
Stars: ✭ 6,968 (+26700%)
Mutual labels:  api-gateway
Mangum
AWS Lambda & API Gateway support for ASGI
Stars: ✭ 475 (+1726.92%)
Mutual labels:  api-gateway
Serverless Stack Demo Api
Source for the demo app API in Serverless-Stack.com
Stars: ✭ 486 (+1769.23%)
Mutual labels:  api-gateway
Ocelot
.NET core API Gateway
Stars: ✭ 6,675 (+25573.08%)
Mutual labels:  api-gateway
Resgate
A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.
Stars: ✭ 473 (+1719.23%)
Mutual labels:  api-gateway
Zato
ESB, SOA, REST, APIs and Cloud Integrations in Python
Stars: ✭ 889 (+3319.23%)
Mutual labels:  api-gateway
Reactive Interaction Gateway
Create low-latency, interactive user experiences for stateless microservices.
Stars: ✭ 465 (+1688.46%)
Mutual labels:  api-gateway
Aws Sam Cli
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
Stars: ✭ 5,817 (+22273.08%)
Mutual labels:  api-gateway
Lambda Api
Lightweight web framework for your serverless applications
Stars: ✭ 929 (+3473.08%)
Mutual labels:  api-gateway
Cv4pve Api Java
Proxmox VE Client API JAVA
Stars: ✭ 17 (-34.62%)
Mutual labels:  api-gateway
Easy Php
A Faster Lightweight Full-Stack PHP Framework 🚀
Stars: ✭ 754 (+2800%)
Mutual labels:  api-gateway

Semart Api Gateway

Semart Api Gateway is Fast, Simple Yet Powerful API Gateway base on Symfony Component that aim to simplify your day

If you want to get more feature that we don't provide, just use Kong

Requirements

  • PHP >= 7.2

  • Redis

  • Elasticsearch 7.X

  • PHP Redis Extension

Workflow

Workflow

Super Fast

Screenshot

Screenshot use SemartApiSkeleton demo on my Digital Ocean VPS with 1 GB of RAM

Install

git clone https://github.com/KejawenLab/SemartApiGateway.git gateway
cd gateway
cp .env.example .env
cp gateway.yaml.example gateway.yaml
cp routes.yaml.example routes.yaml
cp services.yaml.example services.yaml
cp aggregates.yaml.example aggregates.yaml
composer update
php gateway create-index
php -S localhost:8000 -t public/

Configuration

Please Check Main Configuration Example, Service Configuration Example and Routes Configuration Example

Statistic

You can see statistic by call path /gateway/statistic and the response be like

Reponse

Services Status

You can see statistic by call path /gateway/status and the response be like

Response

Health Check

Add to crontab

* * * * * php gateway health-check > /dev/null

Features

  • Easy to Install and Configure

  • Api Versioning

  • Public and Private Api

  • Aggregate Query

  • Load Balancer

  • Response Cache

  • Authentication Using JWT

  • Resource Limiter

  • Request Limiter

  • Request Timeout

  • Health Check

  • Statistic

Documentation

See The Doc

TODO

  • [X] Trusted IPs
  • [X] Implement Load Balancer
    • [X] Random Method
    • [X] Round Robin Method
    • [X] Sticky (Master/Slave) Method
    • [X] Weight Method
  • [X] Multiple Service Per Route
  • [X] Authorization
    • [X] Authorization Header (Bearer) Forwarder
    • [X] Trusted Ip List for Internal Call
    • [X] Authetication For Internal Call
  • [X] Api Versioning Per Service
  • [X] Public and Private Api
  • [X] Implement Rate Limiter
    • [X] Limit Resource (Not Work When Using Random Balancer)
    • [X] Limit Request
    • [X] Request Timeout
  • [X] Implement Health Check
  • [X] Statistic Api
  • [X] Services Status Api
  • [X] Add Docker Support
  • [X] Aggregate Query
  • [ ] Unit Testing

License

MIT License

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].