![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
grpc
文章平均质量分 82
酱橙C
爱唠嗑的程序员
展开
-
gRPC-compression压缩的使用
简介grpc 为客户端和服务端提供了无损失的压缩方式,从而减少网络传输时的流量。主要有以下三种压缩方式:grpc.Compression.NoCompression: 不进行压缩(默认)grpc.Compression.Deflate: Deflate 算法grpc.Compression.Gzip: Gzip 算法客户端和服务端默认采用 grpc.Compression.NoCompression 的方式进行压缩。具体有关 Deflate 和 Gzip 压缩算法的区别可以参看下面原创 2021-08-16 10:33:55 · 3427 阅读 · 0 评论 -
client订阅服务器
简介这里订阅的意思就是当服务器没有启动的时候,默认情况下,如果客户端如果直接发送一个调用的请求的话,会立刻抛出一个异常:failed to connect to all addresses但是如果我们调用了 subscribe 方法,此时就可以让客户端对服务端的启动进行等待,当服务端完成启动之后,客户端接收到启动的通知后,再对对应的 grpc 方法进行调用。...# 创建一个 channelchannel = grpc.insecure_channel(server_address)原创 2021-08-16 10:30:36 · 2606 阅读 · 0 评论 -
python-gRPC 异常处理
简单介绍当我们通过 grpc 进行客户端服务端通信时,健全的代码应该尽可能的对不同的异常情况进行捕获并做出相应的处理。对于 grpc的话,我们可以通过 try-catch 的形式来进行捕获.例如像是下面这样子:应用层可以就像下面这样子进行书写,当然这种感觉不是特别好,具体可以参考本文后面的内容。try: response = stub.SayHello(...)except grpc.RpcError as rpc_error: if rpc_error.code() ==原创 2021-08-16 10:25:45 · 3081 阅读 · 0 评论 -
gRPC 传输 metadata
概念首先我们先看看什么叫 metadata:下面的内容摘录自 阮一峰的博客元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子:(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈!这段话里提供原创 2021-08-16 10:24:26 · 1255 阅读 · 0 评论 -
Python-gRPC传输加密
本文是关于 gRPC 内置安全验证的概述。这里非常感谢 Thomas French ,在阅读完官方文档之后,感到了晦涩且非常 toy,而他写的博客则较为全面,降低了对于 gRPC 安全认证这个功能学习的门槛。首先我们来讲下大致的一个流程:1. 生成认证文件和一个私有密钥**2. ** 定义一个 RPC 服务**3. ** 书写服务端代码**4. ** 书写客户端代码这里不知道为啥,通过命令行生成的 ssl 生成的证书有点问题。命令行如下:openssl req -newkey rs原创 2021-08-16 10:21:03 · 1557 阅读 · 1 评论 -
Python-grpc 基础手册
简要说明阅读收获通过 .proto 文件对服务端进行定义通过 protocol buffer 生成服务端和客户端的代码使用 Python gRPC 的接口来完成简单的客户端和服务器交互面向的读者已经阅读完 介绍 及 快速入门 相关内容,并熟悉 protocol buffers的书写:proto3 language guide and Python generated code guide获取示例代码示例代码保存在 grpc/grpc/examples/pyt原创 2021-08-16 10:09:50 · 363 阅读 · 0 评论 -
Python-grpc快速入门
环境搭建基础环境要求Python 3.5 及以上pip 版本高于 9.0.1gRPC 安装$ python -m pip install grpcio==1.38.0 grpcio-status==1.38.0 grpcio-tools==1.38.0 protobuf3-to-dict==0.1.5参考自GreenPillgRPC tools这个是用来生成 client & server stub 内容的 Python 文件,stub 暂时先放放。安装原创 2021-08-16 10:04:16 · 503 阅读 · 0 评论 -
gRPC 简介
简介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 是什原创 2021-08-16 10:00:27 · 1218 阅读 · 0 评论