繁体   English   中英

Grpc-java中是否有任何自动版本的流控制?

[英]Is there any automatic version of flow control in Grpc-java?

我的服务器可以处理 10000qps,但是当它达到 11000qps 时,它就超载了。 这最终会导致 memory 失效。

我想知道 grpc-java 如何处理服务器过载。 找了很久,没有找到可配置的版本(max-in-flight-messages 之类的参数)。

grpc-java 示例中只有手动版本。

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

看看 maxConcurrentCallsPerConnection[1]。 您需要明确使用 NettyServerBuilder。 但是无论如何,您最有可能在引擎盖下使用那个。 (如果您不控制(数量)客户端,这可能还不够)

您还可以查看https://github.com/Netflix/concurrency-limits 它很可能会解决您的并发问题。

[1] https://grpc.github.io/grpc-java/javadoc/io/grpc/netty/NettyServerBuilder.html#maxConcurrentCallsPerConnection-int-

另一种选择是 grpc 反应流: https://github.com/salesforce/reactive-grpc

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM