赞
踩
GRPC是google开源的一个高性能、跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x,基于Netty 4.x +。GRPC与thrift、avro-rpc等其实在总体原理上并没有太大的区别。
使用需知:
需要使用protobuf定义接口,即.proto文件
然后使用compile工具生成特定语言的执行代码,比如JAVA、C/C++、Python等。类似于thrift,为了解决跨语言问题。
启动一个Server端,server端通过侦听指定的port,来等待Client链接请求,通常使用Netty来构建,GRPC内置了Netty的支持。
启动一个或者多个Client端,Client也是基于Netty,Client通过与Server建立TCP常链接,并发送请求;Request与Response均被封装成HTTP2的stream Frame,通过Netty Channel进行交互。
首先使用google规定的proto协议定义语言,之后使用proto的工具对代码进行“编译”,比如:protobuf-java,protobuf-python等,生成对应的各个平台的源代码,然后使用这些源代码进行操作。
计算机->属性->高级系统设置->环境变量->系统变量->选择path,在最后面加上你的安装路径
比如我的
;D:\develop\protoc-3.6.1-win32\bin
配置完成后打开CMD命令窗口输入:
protoc --version
syntax = "proto3";
package example;
service FormatData {
rpc DoFormat(Data) returns (Data){} //这里后面会用到,注意哦
// DoForma 客户端调用服务端使用的方法
// Data 消息体,跟实体类类似,传参和返回都是一个实体接收
}
message Data {
string text = 1; // 1:代表第一个参数
string flag = 2; // 2:代表第二个参数
}
输入cmd 命令定位到安装的bin目录下:输入以下cmd命令
protoc.exe --java_out=./ ./data.proto
然后就生成下图文件
使用的话直接把刚刚生成的文件拷贝到项目的目录即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。