grpc简介(二).md

  • gRPC 与 HTTP:

    gRPC 也是一组库,它们将在通用 HTTP 库通常不提供的跨平台上一致地提供更高级别的功能。此类功能的示例包括:在应用层与流控制交互、级联呼叫取消、负载平衡和故障转移等。

  • gRPC 与 REST:

    gRPC 在很大程度上遵循 HTTP2 之上的 HTTP 语义,并明确允许全双工流式传输。与典型的 REST 约定不同,在调用期间出于性能原因使用静态路径,因为从路径、查询参数和有效负载正文中解析调用参数会增加延迟和复杂性。另外,grpc还形式化了一组错误,这些错误比 HTTP 状态代码更直接适用于 API 用例。

  • protobuf 与 json:

    数据编码就是序列化,反序列化,将对象变成字节流发送给服务端,服务端将收到的字节流再转化为对象,常见的序列化,反序列化工具XML, JSON, Protobuf。
    json的缺点就是非字符串的编码效率低,int类型在内存只占两个字节65535, 转化成JSON却需要五个字节,bool则需要占用四到五个字节;另一个缺点就是信息冗余,面对同一个接口同一个对象,需要重复传送相同的字段名。json在编码效率和可读性之间选择了可读性。
    protobuf选用了VarInts对数字进行编码,解决了效率问题,另一方面将字段都指定为整数编号,传输的时候只传送字段编号,解决了冗余问题,Protobuf使用.proto文件作为schema记录字段和编号的对应关系
    gRPC底层使用的HTTP/2协议,HTTP协议本身可以通过Content-Encoding表示压缩算法,使用Contetn-length指定数据长度。而gRPC重新定义了一套机制,因为gRPC支持stream rpc,流式接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值