Google 新实现的Protobuf RPC: grpc
2024-10-04 23:39:47
转自:
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 、Java、golang 的原生实现,并以c 共享库的方式来支持Node.js, Python, Ruby, Objective-C, PHP 和 C# 语言 (由此看来,c++, Java 和golang 在Google 有着一等公民的地位)。其中Java 语言的实现亦可以用于Android 客户端,Objective-C 的实现主要针对IOS 客户端。
最新文章
- iOS:以前笔记,未整理版。太多了,先放着吧。。。。。。。
- C#语句1:选择语句一(if else )
- 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数
- 旋转轮子 UIActivityIndicatorView
- libevent 安装异常
- SqlServer查看各个表所占空间大小的sql
- github与eclipse创建仓库及克隆仓库
- 劳动节BT5 aircrack-ng战记
- sum() over() 函数的使用
- [转]Delphi中QuotedStr介绍及使用
- Oracle Sql优化之Merge 改写优化Update
- html结合js实现简单的树状目录
- CQRS粗浅理解
- [JSOI2008]魔兽地图(树形dp)
- sudo用法记录
- java 多线程详解
- JVM指令详解(上)
- ThreadLocal和ThreadLocalMap源码分析
- linux复制文件到指定的文件夹
- 【8.22校内测试】【数学】【并查集】【string】