1

我正在实现一个 grpc 服务器(在运行中),我需要用某种服务器繁忙/不可用的消息来响应,以防我的服务器已经在为设定的最大数量的 RPC 提供服务(当前)。

我之前已经用 grpc-python 实现了一个 grpc 服务器,我maximum_concurrent_rpcs通过threadpool. 我正在 grpc-go 中寻找类似的东西。我能找到的最接近的是服务器设置,它可以由调用返回的 ServerOptions 设置MaxConcurrentStreams。我的应用程序仅支持unary RPCs,我不确定此设置是否适用。

我只是想强制/设置服务器可以处理的最大活动并发请求数。设置会maxConcurrentStreams起作用还是我应该在我的代码本身中进行设置(我已经为它做了一些基本的实现,但我宁愿使用 grpc-go 提供的东西)?

4

1 回答 1

0

我以前从未使用MaxConcurrentStreams过,因为对于高负载服务,您通常希望充分利用硬件,而这种限制似乎没有意义。也许通过这个设置可以实现你的目标,但你需要调查一下,实现时返回哪种错误MaxConcurrentStreams。我认为这应该是GRPC' 传输错误,而不是您自己的错误,因此您将无法控制错误消息和代码。

于 2019-05-13T07:50:52.367 回答