目录
一、压缩
1.Server端所有方法压缩
2.Server单独方法压缩
3.Client请求内容压缩
二、使用JSON通信
1.方法描述使用JSON编译
2.JSON编译具体过程
三、手动流量控制
1.Consuming Side
2.Producing Side
四、系列文章
本文继续整理gRPC的使用,走查解读官方给出的压缩示例、使用JSON通信以及手动流量控制。
一、压缩
1.Server端所有方法压缩
server = ServerBuilder.forPort(port)
.intercept(new ServerInterceptor() {
@Override
public Listener interceptCall(ServerCallcall, Metadata headers,
ServerCallHandlernext) {// @1 在拦截器中设置压缩算法
call.setCompression("gzip");
return next.startCall(call, headers);
}
})
.addService(new GreeterImpl())
.build()
.start();
备注:如果需要在Server端所有方法进行压缩,可以在ServerInterceptor拦击器中通过setCompression进行设置。
2.Server单独方法压缩
如果不想对所有的方法传输内容压缩,gPRC提供了单独方法的压缩。
50051;// @1 对单个方法传输内容进行压缩
responseObserver.setCompression(
备注:单个方法的压缩通过ServerCallStreamObser