本教程提供了 Objective-C 程序员如何使用 gRPC 的指南。通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成客户端代码。 使用 gRPC 的 Objective-C API 为你的服务实现一个简单的客户端。 假设你已经熟悉了protocol buffers。 注意,教程中的例子使用的是 protocol buf
本教程提供了 Python 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 Ruby API 为你的服务实现一个简单的客户端和服务器。 假设你已经阅读了概览并且熟悉protocol buffers. 注意,教程中的例子使用的是 protocol
本教程提供了 Python 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 Python API 为你的服务实现一个简单的客户端和服务器。 假设你已经阅读了概览并且熟悉protocol buffers。 注意,教程中的例子使用的是 protoco
本教程提供了 PHP 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 PHP API 为你的服务实现一个简单的客户端和服务器。 假设你已经熟悉protocol buffers。 注意,教程中的例子使用的是 protocol buffers 语言的
本教程提供了 Node.js 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 Node.js API 为你的服务实现一个简单的客户端和服务器。 假设你已经阅读了概览 并且熟悉protocol buffers。 注意,教程中的例子使用的是 prot
本教程提供了 Java 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 Java API 为你的服务实现一个简单的客户端和服务器。 假设你已经阅读了概览 并且熟悉protocol buffers。 注意,教程中的例子使用的是 protocol b
本教程提供了 Go 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 Go API 为你的服务实现一个简单的客户端和服务器。 假设你已经阅读了概览 并且熟悉protocol buffers。 注意,教程中的例子使用的是 protocol buffe
本教程提供了 C# 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 C# API 为你的服务实现一个简单的客户端和服务器。 假设你已经阅读了概览并且熟悉protocol buffers。 注意,教程中的例子使用的是 protocol buffer
本教程提供了C++程序员如何使用gRPC的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务. 用 protocol buffer 编译器生成服务器和客户端代码. 使用 gRPC 的 C++ API 为你的服务实现一个简单的客户端和服务器. 假设你已经阅读了概览并且熟悉protocol buffers. 注意,教程中的例子使用的是 protocol buffers
本文档作为 gRPC 在 HTTP2 草案17框架上的实现的详细描述,假设你已经熟悉 HTTP2 的规范。产品规则采用的是ABNF 语法 大纲 以下是 gRPC 请求和应答消息流中一般的消息顺序: 请求 → 请求报头 *有定界符的消息 EOS 应答 → 应答报头 *有定界符的消息 EOS 应答 → (应答报头 *有定界符的消息 跟踪信息) / 仅仅跟踪时 请求 请求 → 请求报头 *界定的消息 E
Protobuf本身具有反射功能,可以在运行时获取对象的Proto文件。gRPC同样也提供了一个名为reflection的反射包,用于为gRPC服务提供查询。gRPC官方提供了一个C++实现的grpc_cli工具,可以用于查询gRPC列表或调用gRPC方法。但是C++版本的grpc_cli安装比较复杂,我们推荐用纯Go语言实现的grpcurl工具。本节将简要介绍grpcurl工具的用法。 4.8.
目前开源社区已经围绕Protobuf和gRPC开发出众多扩展,形成了庞大的生态。本节我们将简单介绍验证器和REST接口扩展。 4.6.1 验证器 到目前为止,我们接触的全部是第三版的Protobuf语法。第二版的Protobuf有个默认值特性,可以为字符串或数值类型的成员定义默认值。 我们采用第二版的Protobuf语法创建文件: syntax = "proto2"; package main;
作为一个基础的RPC框架,安全和扩展是经常遇到的问题。本节将简单介绍如何对gRPC进行安全认证。然后介绍通过gRPC的截取器特性,以及如何通过截取器优雅地实现Token认证、调用跟踪以及Panic捕获等特性。最后介绍了gRPC服务如何和其他Web服务共存。 4.5.1 证书认证 gRPC建立在HTTP/2协议之上,对TLS提供了很好的支持。我们前面章节中gRPC的服务都没有提供证书支持,因此客户端
gRPC是Google公司基于Protobuf开发的跨语言的开源RPC框架。gRPC基于HTTP/2协议设计,可以基于一个HTTP/2链接提供多个服务,对于移动设备更加友好。本节将讲述gRPC的简单用法。 4.4.1 gRPC技术栈 Go语言的gRPC技术栈如图4-1所示: 图4-1 gRPC技术栈 最底层为TCP或Unix Socket协议,在此之上是HTTP/2协议的实现,然后在HTTP/2协
注: 官网文档 gRPC Motivation and Design Principles, 我原来自己写了一份简单的读书笔记,后来发现有同学全文翻译了这篇文章,就放弃了自己的内容直接转载了. 文档地址 gRPC Motivation and Design Principles:英文原文 GRPC的产生动机和设计原则: 此文的中文翻译版本 读后感 注:以下是个人的一点感触 2015年3月的某一天,