api-gateway  by membrane

API gateway for modern and legacy services

Created 13 years ago
621 stars

Top 52.4% on SourcePulse

GitHubView on GitHub
Project Summary

Membrane API Gateway is a lightweight, extensible, and high-performance API gateway designed for modern containerized deployments. It addresses the need for a flexible gateway that supports REST, GraphQL, and legacy web services, offering native OpenAPI integration and robust security features. Its primary benefit lies in its ability to seamlessly integrate with enterprise technologies while delivering exceptional performance and scalability, making it suitable for developers and organizations looking to manage and secure their API landscape efficiently.

How It Works

Built on the Java platform, Membrane utilizes a plugin-based architecture that allows for easy extension and customization. It processes HTTP traffic using low-latency, non-blocking stream processing and reuses TCP connections via HTTP Keep-Alive for reduced overhead. This approach, combined with its lightweight distribution and low memory footprint, makes it competitive with C/C++ gateways in performance, ideal for cloud-native environments.

Quick Start & Requirements

  • Primary install/run command:
    • Docker: docker run -p 2000:2000 predic8/membrane
    • Standalone: Download release, extract, and run ./membrane.sh (Linux/Mac) or membrane.cmd (Windows).
  • Non-default prerequisites: Java 21 or newer.
  • Links:
    • Membrane Deployment Guide
    • REST API Tutorial
    • SOAP API Tutorial
    • API Gateway eBook
    • Documentation

Highlighted Details

  • Performance: Achieved over 40,000 requests/sec, supported 20,000 concurrent clients, and hosted over 100,000 APIs on a single instance in load tests.
  • OpenAPI Support: Native integration for deploying APIs from OpenAPI specifications, including request and response validation.
  • Security Features: Comprehensive support for API Keys, JSON Web Tokens (JWT), OAuth2 (including acting as an Authorization Server), NTLM, and Basic Authentication.
  • Legacy Services: Seamlessly routes and validates SOAP messages, configuring APIs directly from WSDL.
  • Extensibility: Supports scripting with Groovy and JavaScript for custom logic, dynamic transformations, and response generation.

Maintenance & Community

Community support is available via GitHub Discussions for questions and GitHub Issues for bug reporting. Enterprise-grade support options are also offered. Regular tech talks cover topics like LLM Gateways, legacy integration, and JWT authentication.

Licensing & Compatibility

The provided README does not explicitly state the project's license. Compatibility is high for containerized environments and Java-based ecosystems.

Limitations & Caveats

The provided documentation does not detail specific limitations, alpha status, or known bugs. The absence of explicit licensing information is a notable caveat for adoption decisions.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
95
Issues (30d)
8
Star History
12 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems") and David Cramer David Cramer(Cofounder of Sentry).

llmgateway by theopenco

1.8%
1k
LLM API gateway for unified provider access
Created 1 year ago
Updated 1 day ago
Feedback? Help us improve.