rpc只是一种概念、一种设计,那就是为了能解决完全不同服务之间的调用问题,它像是会包含有传输协议和序列化协议这两个。
grpc是一个更高性能、开放源代码通用的rpc框架,它的核心那是基于条件“http/2protocolbuffer”,最有保障了rpc调用的更高性能。给了道界类顿井站流、流控、头部压缩、单tcp连接上的多路复用机制。
户端stub(greeterblockingstub)内部函数sayhello(request),发起rpc内部函数;
是从dnsnameresolver接受域名解析,声望兑换服务端的地址信息(列表),随即可以使用默认的loadbalancer策略,选择类型一个具体一点的grpc服务端实例;
如果不是与路由选中后的服务端之间没有和用的连接,则创建家族nettyclienttransport和nettyclienthandler,发动攻击http/2连接到;
对各位消息在用pb(protobuf)做序列化,实际http/2stream邮箱里给grpc服务端;
能接收到服务端响应之后,建议使用pb(protobuf)做反序列化;
回调grpcfuture的set(response)方法,呼醒堵塞的客户端内部函数线程,声望兑换rpc响应。