GRPC 浅析

2019-08-29  本文已影响0人  一只重拾梦想的小水

原理:

GRPC原理解析

IDL(proto buffer) + RPC
netty:异步/事件驱动的 网络应用程序服务器框架(高性能)
Http2:流式、双向
protobuf:序列化(节省网络带宽)

IDL定义示例:

rpc SayHello(HelloRequest) returns (HelloResponse){
}
message HelloRequest {
  string greeting = 1;
}
message HelloResponse {
  string reply = 1;
}

使用:

Starting from a service definition in a .proto file, gRPC provides protocol buffer compiler plugins that generate client- and server-side code.

grpc node文档

与Http对比:

Http:如果没有API文档就不知道细节,
GRPC:IDL就相当于API文档,可以同时
开发顺序:
Http:先服务端后客户端
GRPC:可以同时

与Thrift对比:

跨语言:都支持多语言
性能:GRPC远差于Thrift,因为用了Http2,各大server目前支持不完善
易用性:GRPC尚未完全提供连接池、服务自动发现、进程内负载均衡等高级特性,需要开发人员额外的封装;

优点:

多语言
Http2特性:如stream

缺点:

易用性:GRPC尚未完全提供连接池、服务自动发现、进程内负载均衡等高级特性,需要开发人员额外的封装

上一篇下一篇

猜你喜欢

热点阅读