Grpc快速开始

本文档将演示了如何快速使用Grpc接入Soul网关。您可以直接在工程下找到本文档的示例代码

环境准备

请参考配置网关环境并启动soul-adminsoul-bootstrap

注:soul-bootstrap需要引入grpc依赖

  1. <dependency>
  2. <groupId>org.dromara</groupId>
  3. <artifactId>soul-spring-boot-starter-plugin-grpc</artifactId>
  4. <version>${project.version}</version>
  5. </dependency>

运行soul-examples-grpc项目

下载soul-examples-grpc

soul-examples-grpc下执行以下命令生成java代码

  1. mvn protobuf:compile //编译消息对象
  2. mvn protobuf:compile-custom //依赖消息对象,生成接口服务

运行org.dromara.soul.examples.grpc.SoulTestGrpcApplicationmain方法启动项目。

成功启动会有如下日志:

  1. 2021-02-10 01:57:02.154 INFO 76 --- [ main] o.d.s.e.grpc.SoulTestGrpcApplication : Started SoulTestGrpcApplication in 2.088 seconds (JVM running for 3.232)
  2. 2021-02-10 01:57:02.380 INFO 76 --- [pool-1-thread-1] o.d.s.client.common.utils.RegisterUtils : grpc client register success: {"appName":"127.0.0.1:8080","contextPath":"/grpc","path":"/grpc/echo","pathDesc":"","rpcType":"grpc","serviceName":"echo.EchoService","methodName":"echo","ruleName":"/grpc/echo","parameterTypes":"echo.EchoRequest,io.grpc.stub.StreamObserver","rpcExt":"{\"timeout\":-1}","enabled":true}

Grpc 插件设置

  • soul-admin 插件管理中,把grpc 插件设置为开启。

测试

soul-examples-grpc项目成功启动之后会自动把加 @SoulGrpcClient 注解的接口方法注册到网关。

打开插件管理->grpc可以看到插件规则配置列表

Grpc快速开始 - 图1

下面使用postman模拟http的方式来请求你的grpc服务

Grpc快速开始 - 图2