【发布时间】:2018-07-01 20:14:48
【问题描述】:
无论如何我可以限制 grpc 客户端中的 goroutine 的数量吗?我有一个使用 grpc 客户端的 go 应用程序,我发现有相当多的 go 例程正在创建并不断增长。 感谢您的帮助。
【问题讨论】:
-
gRPC 在 goroutine 中启动每个请求。如果传入 rpc 请求的数量增加,goroutines 也会增加。我建议你看看你的 rpc 函数,以尽量减少延迟。
-
这听起来像是一个 XY 问题。为什么要关心 goroutine 的数量?您的实际问题是什么?
-
实际问题是正如 vedhavyas 所描述的,gRPC 为每个请求启动一个新的 goroutine。当延迟很高时,我的 goroutine 数量就会不断增加。我想真正的问题在于 rpc 调用本身的延迟。只是出于好奇,我想知道 C++ gRPC 客户端的行为是什么。它有某种线程池吗?