Repolode
membrane

membrane/api-gateway

API-шлюз с открытым исходным кодом для проксирования REST- и SOAP-сервисов, развертывания по OpenAPI, преобразования WSDL в OpenAPI, защиты через OAuth2/JWT и валидации сообщений.

Open source альтернатива:ApigeeKong Konnect

Звёзды
658
Форки
186
Открытые issues
45
Последний коммит
10 часов назад

Что это?

Membrane — API-шлюз на Java, который располагается перед серверными сервисами и обрабатывает маршрутизацию, преобразование данных, безопасность и управление трафиком. Он умеет развертывать API напрямую из описаний OpenAPI (версии 3.0–3.2) и проверять запросы по OpenAPI, JSON Schema, XSD и WSDL. Шлюз запускается в Docker-контейнере или как приложение Java, не требует базы данных и настраивается в YAML.

Одна из основных задач Membrane — интеграция с устаревшими системами. Он может генерировать спецификации OpenAPI из WSDL, предоставлять SOAP-веб-сервисы как JSON REST API и преобразовывать JSON и XML с использованием схем из WSDL. Также поддерживаются WS-Security UsernameTokens и XML-подписи; кроме того, доступны плагин защиты MCP и LLM-шлюз для доступа к AI-провайдерам.

Для защиты и эксплуатации Membrane предлагает API keys, OAuth2, проверку JWT, TLS, ограничение частоты запросов, балансировку нагрузки, метрики Prometheus и трассировку OpenTelemetry. Сценарии обработки можно расширять скриптами на Groovy или JavaScript, шаблонами и вызовами других API для оркестрации.

Ключевые возможности

  • 01Развертывает API напрямую из описаний OpenAPI 3.0, 3.1 и 3.2 с возможностью включить проверку запросов.
  • 02Преобразует SOAP-сервисы, описанные в WSDL, в OpenAPI и JSON REST endpoints.
  • 03Проверяет сообщения по OpenAPI, JSON Schema, XSD и WSDL.
  • 04Поддерживает API keys, OAuth2, JWT и WS-Security для аутентификации.
  • 05Обеспечивает ограничение частоты запросов, балансировку нагрузки и завершение TLS-соединений.
  • 06Экспортирует метрики Prometheus и трассировки OpenTelemetry.

Сценарии использования

  • Предоставление устаревших SOAP-сервисов современным клиентам JSON или REST без изменений на стороне бэкенда.
  • Защита существующих API с помощью OAuth2 или JWT через YAML-конфигурацию.
  • Запуск легковесного шлюза в контейнерах, когда база данных недоступна.
  • Контроль доступа AI-агента или клиента LLM к инструментам и моделям через MCP- или LLM-шлюз.

Быстрый старт

  1. 1

    Запустите Membrane в контейнере

    docker run --rm -it -p 2000:2000 predic8/membrane
  2. 2

    Создайте файл apis.yaml с конфигурацией прокси из README

  3. 3

    Запустите контейнер, подключив apis.yaml (Linux/macOS)

    docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane

Что важно знать

  • Membrane написан на Java, поэтому для запуска вне Docker потребуется настроить Java.

В подборках

Темы

Частые вопросы

Что такое api-gateway?
API-шлюз с открытым исходным кодом для проксирования REST- и SOAP-сервисов, развертывания по OpenAPI, преобразования WSDL в OpenAPI, защиты через OAuth2/JWT и валидации сообщений. Membrane — API-шлюз на Java, который располагается перед серверными сервисами и обрабатывает маршрутизацию, преобразование данных, безопасность и управление трафиком. Он умеет развертывать API напрямую из описаний OpenAPI (версии 3.0–3.2) и проверять запросы по OpenAPI, JSON Schema, XSD и WSDL. Шлюз запускается в Docker-контейнере или как приложение Java, не требует базы данных и настраивается в YAML.
api-gateway можно использовать бесплатно? Какая у него лицензия?
api-gateway распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
api-gateway всё ещё поддерживается?
Активно поддерживается. Последний коммит в api-gateway — 6 нояб. 2026 г..
Для чего можно использовать api-gateway?
Предоставление устаревших SOAP-сервисов современным клиентам JSON или REST без изменений на стороне бэкенда. Защита существующих API с помощью OAuth2 или JWT через YAML-конфигурацию. Запуск легковесного шлюза в контейнерах, когда база данных недоступна. Контроль доступа AI-агента или клиента LLM к инструментам и моделям через MCP- или LLM-шлюз.
Как установить api-gateway?
Запустите Membrane в контейнере: docker run --rm -it -p 2000:2000 predic8/membrane Создайте файл apis.yaml с конфигурацией прокси из README Запустите контейнер, подключив apis.yaml (Linux/macOS): docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane
Где скачать api-gateway?
Исходный код и инструкции по установке — на GitHub: https://github.com/membrane/api-gateway

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.

104,5 тыс.+191 за неделю10,2 тыс.PythonMITОбновлён 10 часов назад

Goa — Go-фреймворк с подходом design-first: он генерирует HTTP-, gRPC- и JSON-RPC-сервисы, клиенты и спецификации OpenAPI/protobuf из единого Go-контракта.

6,1 тыс.+7 за неделю582GoMITОбновлён 3 дня назад