Repolode
apache

apache/shenyu

基于 Java 的 API 网关,用于服务代理、协议转换和 API 治理,支持插件链与集中管理控制台。

可替代:KongAWS API Gateway

Star
8,912
Fork
3,111
未关闭 Issue
353
最近提交
20小时前

这是什么?

Apache ShenYu 是一个用 Java 编写的 API 网关,用于服务代理、协议转换和 API 治理。请求会依次经过可扩展的插件链处理,ShenYu Admin 负责保存插件、选择器、规则和元数据,并将配置下发到各个网关实例。

网关支持代理 HTTP 与 Spring Cloud 服务、WebSocket 连接,以及 Apache Dubbo 和 gRPC 后端。流量控制方面提供负载均衡、限流,以及基于 Resilience4j 和 Sentinel 的容错,并包含 WAF、签名、鉴权、缓存和 URL 重写等插件。此外还支持 AI 代理、Token 限制和 MCP 服务插件。

服务端通过客户端 SDK 向 Admin 注册地址和 API 元数据,也可以使用可选的 Kubernetes 控制器同步 Ingress 与 Endpoints 资源。配置同步默认使用 WebSocket,同时支持 HTTP 长轮询、ZooKeeper、Nacos 和 etcd。项目提供 Docker 镜像,便于快速启动。

核心功能

  • 01可扩展的插件链,支持自定义 Java 插件与 WASM 插件
  • 02代理 HTTP、Spring Cloud、Dubbo、gRPC 和 WebSocket 后端
  • 03通过 Resilience4j 和 Sentinel 实现负载均衡、限流与容错
  • 04Admin 控制台集中管理配置,并同步到各网关实例
  • 05支持将指标和日志输出到 Kafka、Elasticsearch

适用场景

  • 在混合使用 HTTP、Dubbo 和 gRPC 的微服务前统一设置入口
  • 为对外 API 配置鉴权、WAF 规则和限流
  • 代理 LLM 调用,并进行 Token 限制与敏感词过滤
  • 在 Kubernetes 中部署网关,同步 Ingress 资源

快速上手

  1. 1

    创建 Docker 网络

    docker network create shenyu
  2. 2

    按 README 生成密钥并启动 Admin、示例服务和网关容器

  3. 3

    按 README 在网关上配置示例路由

  4. 4

    通过网关验证路由是否生效

    curl -i http://localhost:9195/index.html

使用前须知

  • Docker 快速入门默认使用内存 H2 数据库,若需要持久化路由必须配置持久数据库。
  • SOFA 和 Tars 不再默认内置,需要单独安装插件商店的 starter。
  • Apollo 和 Hystrix 已被弃用,新项目应避免使用。

收录于专题

标签

常见问题

shenyu 是什么?
基于 Java 的 API 网关,用于服务代理、协议转换和 API 治理,支持插件链与集中管理控制台。 Apache ShenYu 是一个用 Java 编写的 API 网关,用于服务代理、协议转换和 API 治理。请求会依次经过可扩展的插件链处理,ShenYu Admin 负责保存插件、选择器、规则和元数据,并将配置下发到各个网关实例。
shenyu 可以免费使用吗?用的什么许可证?
shenyu 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
shenyu 还在维护吗?
活跃维护中。shenyu 最近一次提交是在 2026年11月6日。
shenyu 适合用来做什么?
在混合使用 HTTP、Dubbo 和 gRPC 的微服务前统一设置入口 为对外 API 配置鉴权、WAF 规则和限流 代理 LLM 调用,并进行 Token 限制与敏感词过滤 在 Kubernetes 中部署网关,同步 Ingress 资源
shenyu 怎么安装和运行?
创建 Docker 网络: docker network create shenyu 按 README 生成密钥并启动 Admin、示例服务和网关容器 按 README 在网关上配置示例路由 通过网关验证路由是否生效: curl -i http://localhost:9195/index.html
在哪里获取 shenyu?
源代码和安装说明在 GitHub 上:https://github.com/apache/shenyu

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

相关项目