2020-04-28
grpcurl是一个命令行工具,使用它可以在命令行中访问gRPC服务,就像使用curl
访问http服务一样。
准备: 在gRPC服务中注册reflection服务
#
gRPC服务是使用Protobuf(PB)协议的,而PB提供了在运行时获取Proto定义信息的反射功能。grpc-go中的"google.golang.org/grpc/reflection"
包就对这个反射功能提供了支持。
这里以grpc-go官方的helloword为例,代码结构如下:
1grpc-hello
2├── go.mod
3├── go.sum
4├── main.go
5└── proto
6 ├── doc.go
7 ├── helloworld.pb.go
8 └── helloworld.proto
helloworld.proto:
...2017-05-02
接下来我们需要把gRPC和Spring boot整合在一起,这里主要记录我们的整合方式。
项目目录结构
#
项目的目录结构如下:
1foo-svc
2├── foo-svc-proto
3│ ├── build.gradle
4│ └── src
5│ └── main
6│ └── proto
7│ ├── xx1_service.proto
8│ └── xx2_service.proto
9├── foo-svc-server
10│ ├── build.gradle
11│ └── src
12│ └── main
13│ ├── java
14│ └── resources
15│ └── application.yml
16├── build.gradle
17├── gradle.properties
18└── settings.gradle
一个gRPC服务的项目由两个子项目组成:
...2017-05-01
之前一直用Go来写gRPC的服务,简单而直接。
最近工作涉及用Java开发几个gRPC的服务,我们知道Java中有很多框架和Magical,所以这几个服务还是希望以Java的风格来写,因此打算写几篇文章对此做个整理。本篇做为开篇 ,先简单从快速开始一个项目原型开始写起。
...