基于 Spring Framework 和 Spring Boot 构建的 API 网关,用于微服务中的 HTTP 请求路由与过滤。
grpc-ecosystem/grpc-spring
Spring Boot 启动器,通过 @GrpcService 和 @GrpcClient 注解即可运行 gRPC 服务端与客户端,无需手动配置。
- Star
- 3,709
- Fork
- 853
- 未关闭 Issue
- 172
- 最近提交
- 3天前
这是什么?
grpc-spring 是面向 gRPC 的 Spring Boot 启动器。被 @GrpcService 注解的类会自动注册为 gRPC 服务端,字段上使用 @GrpcClient 即可自动创建和管理 channel 与 stub。服务端和客户端的配置都通过 Spring 标准的属性机制完成,分别使用 grpc.server 和 grpc.client 前缀。
该库基于 grpc-java 构建,服务端支持所有基于 BindableService 的实现。客户端对 Reactive gRPC、grpc-kotlin 等其他变体需要自定义 StubFactory。它还可与 Spring Security、Spring Cloud 服务发现(Consul、Eureka、Nacos)、基于 Brave 的 Sleuth 链路追踪、全局与自定义拦截器,以及 micrometer/actuator 指标集成。
项目同时发布了独立的服务端和客户端 starter,也可以在不使用 Spring Boot 的情况下通过手动配置 Bean 来使用。
核心功能
- 01根据 @GrpcService 实现类自动启动 gRPC 服务端。
- 02通过 @GrpcClient 自动创建并管理 channel 与 stub。
- 03与 Consul、Eureka、Nacos 等 Spring Cloud 服务发现集成。
- 04支持全局及自定义的服务端和客户端拦截器。
- 05基于 micrometer 和 actuator 提供指标支持。
适用场景
- 在现有 Spring Boot 应用中加入 gRPC 服务。
- 在基于 Spring 的代码中通过服务发现地址调用其他 gRPC 微服务。
- 借助 Spring Security 或拦截器为 gRPC 调用增加鉴权与链路追踪。
收录于专题
标签
常见问题
- grpc-spring 是什么?
- Spring Boot 启动器,通过 @GrpcService 和 @GrpcClient 注解即可运行 gRPC 服务端与客户端,无需手动配置。 grpc-spring 是面向 gRPC 的 Spring Boot 启动器。被 @GrpcService 注解的类会自动注册为 gRPC 服务端,字段上使用 @GrpcClient 即可自动创建和管理 channel 与 stub。服务端和客户端的配置都通过 Spring 标准的属性机制完成,分别使用 grpc.server 和 grpc.client 前缀。
- grpc-spring 可以免费使用吗?用的什么许可证?
- grpc-spring 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- grpc-spring 还在维护吗?
- 活跃维护中。grpc-spring 最近一次提交是在 2026年11月4日。
- grpc-spring 适合用来做什么?
- 在现有 Spring Boot 应用中加入 gRPC 服务。 在基于 Spring 的代码中通过服务发现地址调用其他 gRPC 微服务。 借助 Spring Security 或拦截器为 gRPC 调用增加鉴权与链路追踪。
- 在哪里获取 grpc-spring?
- 源代码和安装说明在 GitHub 上:https://github.com/grpc-ecosystem/grpc-spring
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
为 Spring Cloud 接口提供 Kubernetes 实现,让 Spring 应用基于 Kubernetes 完成服务发现与配置管理。
Apache Dubbo 的 Java 实现,一个用于构建 RPC 通信与微服务的框架。
基于 Spring Cloud 的服务治理框架,将 Spring Cloud 应用与 Polaris 服务发现和治理能力打通。
基于 Web 的管理面板,通过 Actuator 端点监控和管理 Spring Boot 应用。
基于 Java 的 API 网关,用于服务代理、协议转换和 API 治理,支持插件链与集中管理控制台。