apache

apache/shenyu

Java
29
2025-10-23
8.7k
+4
#10
3k

项目简介

Apache ShenYu是基于Java原生的API网关,提供服务代理、协议转换和API治理功能

Apache ShenYu is a Java native API Gateway for service proxy, protocol conversion and API governance.

智能解读

智能解读 自动生成

Apache ShenYu是一款基于Java开发的高性能、可扩展的API网关解决方案。它作为微服务架构中的统一流量入口,能够代理多种协议的后端服务,包括Dubbo、Spring Cloud、gRPC等,并实现协议之间的转换。该项目提供了强大的API治理能力,例如流量控制、熔断、安全认证(如OAuth 2.0、JWT)和全方位的可观测性支持。通过其可视化控制台,用户可以动态配置路由规则和权限。ShenYu采用插件化设计,支持功能热插拔,便于扩展和定制。它适用于需要统一管理、监控和保护大量微服务API的企业级场景,能够有效提升系统的稳定性、安全性与可维护性。

智能标签

使用场景

使用场景 自动生成

适合需要统一管理多协议微服务、实现精细化API治理的中大型Java微服务架构。

1

多协议微服务统一接入

微服务架构中同时使用Dubbo、gRPC、Spring Cloud等多种通信协议,需要为前端提供统一的HTTP API入口。

使用ShenYu作为API网关,通过其内置的插件系统将Dubbo、gRPC等协议转换为HTTP协议,对外提供统一的RESTful API。

前端应用只需调用http://gateway/user-service/getUser,ShenYu会自动将请求路由到后端的Dubbo服务或gRPC服务。

2

API流量精细管控

需要针对不同API接口实施限流、熔断、权限控制等治理策略,但不想在每个微服务中重复实现。

在ShenYu网关层面配置RateLimiter、Hystrix、JWT等插件,集中管理所有API的访问控制和容错机制。

为支付接口配置每秒100次的限流,为查询接口配置OAuth2.0认证,所有配置通过Dashboard实时生效。

3

微服务可观测性统一

分布式系统中追踪请求链路、收集监控指标需要对接多个系统,开发维护成本高。

启用ShenYu的Tracing、Metrics、Logging插件,自动收集所有经过网关的请求数据,统一推送到监控系统。

一次用户请求经过网关到多个微服务,ShenYu自动生成完整的调用链TraceID,并记录响应时间、状态码等指标。

4

API动态路由管理

微服务上线、下线或版本更新时,需要动态调整路由规则而不重启网关。

通过ShenYu的Dashboard可视化配置Selector和Rule,支持热更新路由规则,配合数据同步机制实现动态路由。

新版本user-service v2上线后,在Dashboard中配置灰度规则,将10%流量路由到v2版本,其余流量仍走v1版本。

项目健康度

45
C 一般

综合活跃度、人气、增长、社区、文档评估

活跃度
2/25
人气
25/25
增长
7/20
社区
1/15
文档
10/15
在 GitHub 上查看

项目信息

作者 apache
来源 GitHub
周期 每日
仓库 ID apache/shenyu
首次采集 2025-10-24 07:56:19
最后更新 2026-02-23 21:46:00

赞赏支持

如果本站对你有帮助,欢迎打赏支持

微信打赏码

微信

支付宝打赏码

支付宝

评论 0

登录 后发表评论

加载评论中...

助手