Repolode
membrane

membrane/api-gateway

开源 API 网关,同时支持 REST 与 SOAP,可将 SOAP 服务转为 JSON API 并提供 OAuth2、JWT 等安全能力。

可替代:ApigeeKong Konnect

Star
658
Fork
186
未关闭 Issue
45
最近提交
23小时前

这是什么?

Membrane 是一个用 Java 编写的 API 网关,部署在后端服务前面,负责路由、消息转换、安全防护和流量控制。它可以直接根据 OpenAPI 3.0 至 3.2 描述文件部署 API,并依据 OpenAPI、JSON Schema、XSD 和 WSDL 校验请求。网关可以以 Docker 容器或 Java 应用运行,无需数据库,配置使用 YAML 编写。

项目的一个重点是对接遗留系统。它能从 WSDL 生成 OpenAPI 规范,把 SOAP Web 服务暴露为 JSON 格式的 REST API,并借助 WSDL 中的 XML Schema 在 JSON 与 XML 之间转换。此外还支持 WS-Security 的 UsernameToken 与 XML 签名,并提供 MCP 保护插件和访问大模型提供商的 LLM 网关。

在安全与运维方面,Membrane 支持 API Key、OAuth2、JWT 校验、TLS、限流、负载均衡、Prometheus 指标和 OpenTelemetry 链路追踪。流程可以通过 Groovy 或 JavaScript 脚本、模板以及调用其他 API 的编排能力进行扩展。

核心功能

  • 01可直接依据 OpenAPI 3.0、3.1 和 3.2 描述文件部署 API,并可选择开启请求校验。
  • 02将 WSDL 描述的 SOAP 服务转换为 OpenAPI 和 JSON REST 接口。
  • 03按 OpenAPI、JSON Schema、XSD 和 WSDL 校验消息。
  • 04支持 API Key、OAuth2、JWT 和 WS-Security 认证。
  • 05提供限流、负载均衡和 TLS 终止。
  • 06输出 Prometheus 指标并支持 OpenTelemetry 链路追踪。

适用场景

  • 在不改动后端的情况下,让现代 JSON 或 REST 客户端访问旧的 SOAP 服务。
  • 通过 YAML 配置为已有 API 增加 OAuth2 或 JWT 保护。
  • 在无数据库的容器环境中运行轻量级网关。
  • 通过 MCP 或 LLM 网关控制 AI 智能体或大模型客户端可访问的工具与模型。

快速上手

  1. 1

    以容器方式启动 Membrane

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

    创建包含 README 中代理配置的 apis.yaml 文件

  3. 3

    挂载 apis.yaml 并运行容器(Linux/macOS)

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

使用前须知

  • 基于 Java 实现,若不使用 Docker 运行则需要配置 Java 环境。

收录于专题

标签

常见问题

api-gateway 是什么?
开源 API 网关,同时支持 REST 与 SOAP,可将 SOAP 服务转为 JSON API 并提供 OAuth2、JWT 等安全能力。 Membrane 是一个用 Java 编写的 API 网关,部署在后端服务前面,负责路由、消息转换、安全防护和流量控制。它可以直接根据 OpenAPI 3.0 至 3.2 描述文件部署 API,并依据 OpenAPI、JSON Schema、XSD 和 WSDL 校验请求。网关可以以 Docker 容器或 Java 应用运行,无需数据库,配置使用 YAML 编写。
api-gateway 可以免费使用吗?用的什么许可证?
api-gateway 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
api-gateway 还在维护吗?
活跃维护中。api-gateway 最近一次提交是在 2026年11月6日。
api-gateway 适合用来做什么?
在不改动后端的情况下,让现代 JSON 或 REST 客户端访问旧的 SOAP 服务。 通过 YAML 配置为已有 API 增加 OAuth2 或 JWT 保护。 在无数据库的容器环境中运行轻量级网关。 通过 MCP 或 LLM 网关控制 AI 智能体或大模型客户端可访问的工具与模型。
api-gateway 怎么安装和运行?
以容器方式启动 Membrane: docker run --rm -it -p 2000:2000 predic8/membrane 创建包含 README 中代理配置的 apis.yaml 文件 挂载 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目