Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grpc java中是否有流量控制的自动版本?_Java_Grpc_Grpc Java_Flow Control_Backpressure - Fatal编程技术网

Grpc java中是否有流量控制的自动版本?

Grpc java中是否有流量控制的自动版本?,java,grpc,grpc-java,flow-control,backpressure,Java,Grpc,Grpc Java,Flow Control,Backpressure,我的服务器可以处理10000qps,但当它达到11000qps时,它会过载。这最终会导致内存不足 我想知道GRPCJava是如何处理服务器过载的。我搜索了很长时间,没有找到可配置的版本(参数如飞行消息中的最大值) 中只有手动版本 你能给我一些建议吗?提前感谢。查看maxConcurrentCallsPerConnection[1]。您需要明确使用NettyServerBuilder。但不管怎样,你最有可能在引擎盖下使用它。(如果您不控制客户端(数量),这可能不够) 你也可以看看。它很可能会解决您

我的服务器可以处理10000qps,但当它达到11000qps时,它会过载。这最终会导致内存不足

我想知道GRPCJava是如何处理服务器过载的。我搜索了很长时间,没有找到可配置的版本(参数如飞行消息中的最大值)

中只有手动版本


你能给我一些建议吗?提前感谢。

查看maxConcurrentCallsPerConnection[1]。您需要明确使用NettyServerBuilder。但不管怎样,你最有可能在引擎盖下使用它。(如果您不控制客户端(数量),这可能不够)

你也可以看看。它很可能会解决您的并发问题


[1]

另一个选项是grpc反应流:


它将提供更好的背压和流量控制。

谢谢,
maxConcurrentCallsPerConnection
在一元呼叫中工作良好。顺便说一句,为什么http2连接流控制窗口不能作为默认选项使用?流控制不适用于一元调用,因为grpc库每h2流只发送一条消息。使用maxConcurrentCallsPerConnection并缓慢响应是避免服务器过载的一元调用的正确解决方案。我强烈推荐Netflix并发限制。应用它很容易,而且在使系统响应方面效果很好(通过丢弃多余的请求)。