用途:在 Spring Boot 项目中搭建 gRPC 服务端与客户端,基于 net.devh 的 grpc-spring-boot-starter,配合 Protobuf 生成代码,实现服务方法、拦截器与流式调用,适用于需要高性能 RPC 的 Java 微服务间通信。
主要能力:支持普通、服务端流、客户端流等 RPC 形态;提供 @GrpcService、@GrpcClient、@GrpcGlobalServerInterceptor 注解;可开启 reflection 服务与 in-process 名称;可配置认证、日志、指标拦截器;内置 MapStruct 映射示例与 grpc-java 测试工具 StreamRecorder。
必要用法:Gradle 引入 grpc-netty-shaded、grpc-protobuf、grpc-stub、grpc-spring-boot-starter,并在 protobuf 插件中配置 protoc 与 protoc-gen-grpc-java。服务端在 application 配置中设置 grpc.server.port 等。服务实现继承 *ImplBase 并加 @GrpcService,用 StreamObserver 返回或错误。客户端通过构造注入 @GrpcClient 通道构造 blockingStub 或 asyncStub。测试可用 @SpringBootTest 配合 @MockBean 与 StreamRecorder 断言。
适用场景:Spring Boot 微服务内部 RPC、Protobuf 定义接口契约、需要统一认证与日志拦截、需要流式传输大量数据。
限制:资料未提供具体版本兼容范围、性能数据或商用授权信息;配置项以示例为准,实际端口、包名与依赖版本需按项目调整。缺少运行时环境要求与部署说明,暂未提供。