gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。
下面我们就从 HTTP2、ProtoBuf 3、 Nginx、gRPC 的角度看他们的 RoadMAP。
HTTP2
2015年5月HTTP2协议正式版发布: RFC7540、RFC7541。
http://www.infoq.com/cn/news/2015/02/http2-ietf-approve-publish
ProtoBuf 3
ProtoBuf 3 目前最新版本是 3.0.0-beta-2 (2015-12-31 发布的)
https://github.com/google/protobuf/releases
网上能看到的发布计划是2015年某个时间正式发布. 但是现在还没有。
https://groups.google.com/forum/#!topic/protobuf/NcK5ae8ZUSU
2015年5月8日Feng Xiao的回复 It's expected to come sometime this year.
nginx 对 gRPC 负载均衡的支持
nginx 1.9.5 已经支持了 HTTP2,参看:
http://nginx.com/blog/how-nginx-plans-to-support-http2/
Note: Since publishing this blog post we’ve added support for HTTP/2 in NGINX 1.9.5 and NGINX Plus R7.
这是nginx 官方博客宣布的。nginx 1.9.5 是 2015年9月发布的。参考:https://www.nginx.com/blog/nginx-1-9-5/
而对 SPDY 的支持很早就支持了,相关文档请参考:
http://nginx.org/en/docs/http/ngx_http_spdy_module.html
国内很多人用的阿里的 tengine 则目前支持 SPDY 3.1
参考: http://tengine.taobao.org/changelog_cn.html http://tengine.taobao.org/
gRPC
这里的实现,主要分三个版本:gRPC, gRPC-java and gRPC-go
https://github.com/grpc/grpc The C based gRPC (C++, Node.js, Python, Ruby, Objective-C, PHP, C#) 最新版本 0.13.0 。 2016-02-13 发布的
https://github.com/grpc/grpc-java 最新版本 v0.13.2 2016-02-24 发布的
https://github.com/grpc/grpc-go 目前看不到 milestones 计划,但是显示的是 Beta release。