
grpc
文章平均质量分 51
岚天逸剑
这个作者很懒,什么都没留下…
展开
-
grpc-go通过context传递额外数据
metadata 是 grpc 内置的,用来往 RPC 服务传递 http 头数据,分 in 和 out 两种,对应的 key 都为一个空 struct,分别为:mdIncomingKey 和 mdOutgoingKey。注意 md 中的值会被加上中括号“[]”。原创 2024-02-19 10:07:54 · 799 阅读 · 0 评论 -
go gRPC 客户端内存暴涨原因分析
创建一个 gRPC 客户端连接,会创建的几个协程:1)transport.loopyWriter.run 往服务端发送数据协程,流控时会阻塞,结果是数据堆积,内存上涨2)transport.http2Client.reader 接收服务端数据协程,并会调用 t.controlBuf.throttle() 执行流控现象描述:客户端到服务端单个连接,压测时内存快速增长,直到 OOM 挂掉。在 OOM 之前停止压测,内存会逐渐下降。客户端到服务端改为两个连接时,压测时未出现内存快速增长。问题原因:每.原创 2021-01-29 14:56:50 · 2849 阅读 · 0 评论 -
Windows 上配置 Go 的 gRPC 编译环境
1、Windows 上查看环境变量方法以查看 GOPATH 为例。普通命令行查看 GOPATH:echo %GOPATH%PowerShell 上查看 GOPATH:echo $env:GOROOT2、安装 protoc上 https://github.com/google/protobuf/releases 下载 protoc。以 protoc-3.13.0-win64.zip 为例,解压后将 bin 所在的完整目录(如“C:\Program Files\原创 2020-09-17 17:21:25 · 1392 阅读 · 0 评论 -
gRPC/C++的Makefile编写
gRPC 的库有点多,手工编写 Makefile 不简单,它有如下这么多的库和依赖库:$ lscmake libabsl_log_severity.a libabsl_throw_delegate.a libgrpc.a libgrpc_plugin_support.a libssl.a...原创 2020-04-03 10:16:12 · 1496 阅读 · 0 评论 -
CMake 方式编译 gRPC
首先,下载 grpc 源代码到本地:git clone https://github.com/grpc/grpc.git如果只想下载指定版本的,如以版本“1.27.3”为例,可改成如下语句:git clone -b v1.27.3 https://github.com/grpc/grpc.git上列操作成功完成后,grpc 源码的第三方依赖目录 third_party 实际是空的,...原创 2020-04-01 12:09:33 · 4935 阅读 · 0 评论