gRPC Spring Boot Starter特点:
- 使用@ GrpcService自动创建并运行一个 gRPC 服务,内嵌在 spring-boot 应用中
- 使用@ GrpcClient自动创建和管理你的channel和stub
- 支持 Spring Cloud(向Consul或Eureka注册服务并获取gRPC服务器信息)
- 支持 Spring Sleuth 进行链路跟踪
- 支持对于 server、client 分别设置全局拦截器或单个的拦截器
- 支持 Spring-Security
- 支持 metric (micrometer / actuator)
- 可以使用 grpc-netty-shaded
gRPC server + client:
<dependency> <groupId>net.devh</groupId> <artifactId>grpc-spring-boot-starter</artifactId> <version>2.2.0.RELEASE</version> </dependency> |
实现 gRPC server 的业务逻辑,并使用 @GrpcService 注解
@GrpcService public class GrpcServerService extends GreeterGrpc.GreeterImplBase { @Override public void sayHello(HelloRequest req, StreamObserver<HelloReply> responseObserver) { HelloReply reply = HelloReply.newBuilder().setMessage("Hello ==> " + req.getName()).build(); responseObserver.onNext(reply); responseObserver.onCompleted(); } } |