我的服务器可以处理10000qps,但是当它达到11000qps时,它就超载了。这最终会导致内存不足。
我想知道grpc-java是如何处理服务器过载的。我已经搜索了很长时间,没有找到可配置的版本(像max-in-flight messages这样的参数)。
在grpc-java examples中只有一个手册版本。
你能给我一些建议吗?提前谢谢。
发布于 2019-11-15 18:52:15
看看maxConcurrentCallsPerConnection1吧。您需要显式使用NettyServerBuilder。但你最喜欢用那个,不管怎样,在引擎盖下面。(如果您不能控制客户端(数量),这可能还不够)
你也可以看看https://github.com/Netflix/concurrency-limits。它很可能会解决你的并发问题。
发布于 2019-11-15 20:16:18
另一个选择是grpc reactive streams:https://github.com/salesforce/reactive-grpc
它将提供更好的背压和流量控制。
https://stackoverflow.com/questions/58835027
复制相似问题