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

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

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

grpc-java examples中只有手动版本。

您能给我一些建议吗?预先感谢。

a8496558 回答: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

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

本文链接:https://www.f2er.com/3110958.html

大家都在问