点击上方GRPC专栏看完整系列
 
文章目录
- Abstract
 - 前置依赖
 - 本文
 - 初始状态
 - 编写protobuffer文件
 - 生成代码
 
- 下一步
 
Abstract
网上有很多GRPC的例子,但是却没有能够写给普通Java开发人员手把手入门少走弯路的教程。
 本教程保证按照步骤一步步来你就可以完成GRPC从0到1的构建。
 源码地址:grpc-helloworld-for-java
前置依赖
装有maven和JDK。并且保证javac命令可用。
本文
本文是系列的第2篇,将编写protobuffer文件并生成代码。 代码在分支:step2-protobuffer。
初始状态
git clone https://github.com/gaoxingliang/grpc-helloworld-for-java.git
git checkout step1-import-mvn
 
编写protobuffer文件
在示例中我们会编写3个proto文件,分别模拟有2个模块,user,foods和一个common模块。
 目录如下:
vo.proto内容:
syntax = "proto3";
option java_package = "com.example.grpc.common.vo";
message Empty{
}
 
food.proto:
syntax = "proto3";
option java_package = "com.example.grpc.food";
import "common/vo/vo.proto";
service Food {
  rpc list(Empty)  returns (FoodResponse);
}
message FoodResponse{
  repeated string foods = 1;
  int32  responseCode = 2;
}
 
user.proto:
syntax = "proto3";
option java_package = "com.example.grpc.user";
import "common/vo/vo.proto";
service User{
  rpc login(LoginRequest)  returns (APIResponse);
  rpc logout(Empty)  returns (APIResponse);
}
message LoginRequest{
  string username = 1 ;
  string password = 2 ;
}
message APIResponse{
  string responsemessage = 1;
  int32  responseCode  = 2;
}
 
可以看到User这个服务中提供了2个RPC login 和logout。 以及对应的请求和响应。
生成代码
cd grpcExample
mvn
 
执行完后,可以看到生成了很多代码:
 
下一步
下一步我们会编写自己的服务端和客户端实现来测试RPC功能。



















