怎么看待谷歌今年开源的RPC框架GRPC
1个回答
展开全部
缺点:目前版本来说实测性能肯定是差thrift一截的(实测grpc0.8版本).应该就是缺点吧,虽然用了netty和protobuf
优点:采用HTTP2的好处在于,因为添加了头信息,可以方便在框架层面对调用做拦截和控制(比如说限流,调用链分析,安全认证等)
而且http2为标准协议,也方便以后扩展兼容其它调用端
不过目前的grpc虽然支持了拦截,但是Header信息和消息体是分离的,而且暂时没法控制方法执行与否,所以很多功能还不能实现
(主要是没能从protobuf层面解决Header的问题)
另外,使用grpc既要安装protobuf又要使用maven或gradle的生成xxxGRPC的插件,实在麻烦,而且
client_to_server
client_to_server_streaming
server_to_client_streaming
bidirectional_streaming
几类调用方式实现的API也过于繁琐
所以综合起来目前我们在自己的分布式服务框架里使用的时自己实现的infogen-rpc框架,如果后面的release版本确实好用或许会换回来吧,毕竟grpc的多语言还是做得不错
优点:采用HTTP2的好处在于,因为添加了头信息,可以方便在框架层面对调用做拦截和控制(比如说限流,调用链分析,安全认证等)
而且http2为标准协议,也方便以后扩展兼容其它调用端
不过目前的grpc虽然支持了拦截,但是Header信息和消息体是分离的,而且暂时没法控制方法执行与否,所以很多功能还不能实现
(主要是没能从protobuf层面解决Header的问题)
另外,使用grpc既要安装protobuf又要使用maven或gradle的生成xxxGRPC的插件,实在麻烦,而且
client_to_server
client_to_server_streaming
server_to_client_streaming
bidirectional_streaming
几类调用方式实现的API也过于繁琐
所以综合起来目前我们在自己的分布式服务框架里使用的时自己实现的infogen-rpc框架,如果后面的release版本确实好用或许会换回来吧,毕竟grpc的多语言还是做得不错
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询