gRPC 教程
gRPC 简介
用官网的话说是
A high performance, open-source universal RPC framework
gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。
目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.
gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。
这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
为什么选择gRPC?
gRPC是可以在任何环境中运行的现代开源高性能RPC框架。
它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。
它也适用于分布式计算的最后一步,以将设备,移动应用程序和浏览器连接到后端服务。
主要使用场景
- 在微服务风格架构中有效连接多语种服务
- 将移动设备,浏览器客户端连接到后端服务
- 生成高效的客户端库
令人赞叹的核心功能
- 十种语言的惯用客户端库
- 高效的在线连接和简单的服务定义框架
- 双向流与基于http / 2的传输
- 可插拔身份验证,跟踪,负载平衡和运行状况检查
gRPC特点
简单的服务定义
使用协议缓冲区,功能强大的二进制序列化工具集和语言定义服务
快速启动并扩展
只需一行即可安装运行时和开发环境,并通过该框架每秒可扩展至数百万个RPC
跨语言和平台工作
自动以多种语言和平台为您的服务生成惯用的客户端和服务器存根
双向流和集成身份验证
双向流传输和完全集成的可插入身份验证以及基于http / 2的传输
支持语言和版本
语言 | 平台 | 版本 |
---|---|---|
C/C++ | Linux/Mac | GCC 4.8+ Clang 3.3+ |
C/C++ | Windows 7+ | Visual Studio 2015+ |
C# | Linux/Mac | .NET Core, Mono 4+ |
C# | Windows 7+ | .NET Core, .NET 4.5+ |
Dart | Windows/Linux/Mac | Dart 2.0+ |
Go | Windows/Linux/Mac | Go 1.6+ |
Java | Windows/Linux/Mac | JDK 8 recommended. Gingerbread+ for Android |
Node.js | Windows/Linux/Mac | Node v4+ |
Objective-C | Mac OS X 10.11+/iOS 7.0+ | Xcode 7.2+ |
PHP (Beta) | Linux/Mac | PHP 5.5+ and PHP 7.0+ |
Python | Windows/Linux/Mac | Python 2.7 and Python 3.4+ |
Ruby | Windows/Linux/Mac | Ruby 2.3+ |
grpc官网
官方网站是 https://www.grpc.io/