转自:

http://www.dongliu.net/post/622450

Google 刚刚开源了grpc,  一个基于HTTP2 和 Protobuf 的RPC 实现。

Protobuf 本身虽然提供了RPC  的定义语法,但是一直以来,Google 只开源了Protobuf 序列化反序列化的代码,而没有开源RPC 的实现,于是存在着众多良莠不齐的第三方RPC 实现。

从实现和特性看来,grpc 更多的是考虑移动场景情况下客户端和服务端的通信,正如其自称的「general RPC framework that puts mobile and HTTP/2 first」。HTTP2 本身提供了连接多路复用、Body 和 Header 压缩等机制,grpc 基于此可以提供比较高效的实现。

grpc 所使用的依赖都比较新,如protbuf 需要3.0 版本, c++ 使用了c++11, Java 实现中的netty 需要5.0  版本, HTTP2 也是刚刚定稿。这些依赖中很多都还是没有正式release ,所以目前来看grpc 还不是一个可稳定使用的状态。

grpc 提供了c 、Javagolang 的原生实现,并以c 共享库的方式来支持Node.js, Python, Ruby, Objective-C, PHP 和 C# 语言 (由此看来,c++, Java 和golang 在Google 有着一等公民的地位)。其中Java 语言的实现亦可以用于Android 客户端,Objective-C 的实现主要针对IOS 客户端。

最新文章

  1. iOS:以前笔记,未整理版。太多了,先放着吧。。。。。。。
  2. C#语句1:选择语句一(if else )
  3. 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数
  4. 旋转轮子 UIActivityIndicatorView
  5. libevent 安装异常
  6. SqlServer查看各个表所占空间大小的sql
  7. github与eclipse创建仓库及克隆仓库
  8. 劳动节BT5 aircrack-ng战记
  9. sum() over() 函数的使用
  10. [转]Delphi中QuotedStr介绍及使用
  11. Oracle Sql优化之Merge 改写优化Update
  12. html结合js实现简单的树状目录
  13. CQRS粗浅理解
  14. [JSOI2008]魔兽地图(树形dp)
  15. sudo用法记录
  16. java 多线程详解
  17. JVM指令详解(上)
  18. ThreadLocal和ThreadLocalMap源码分析
  19. linux复制文件到指定的文件夹
  20. 【8.22校内测试】【数学】【并查集】【string】

热门文章

  1. lvm创建 及 扩空 等相关
  2. C# 后台获取API接口数据
  3. 实验吧—Web——WP之 因缺思汀的绕过
  4. hdu2609 How many 字典树+最小表示法
  5. js获取元素得几种情况
  6. easyui表单校验
  7. java exception 01
  8. Android 播放内部mp3音乐
  9. idea新建工程项目结构
  10. 使用terraform-provider-s3 操作minio