Apache Ratis is a java implementation of RAFT consensus protocol and uses 
grpc as a transport protocol. Currently we have multiple clients connecting 
to a server. The server has limited resources available to handle the 
client requests and it fails the requests which it can not handle. These 
resources are in the application layer. Since client requests can be large 
in size, failing them creates a lot of garbage. We wanted to push back the 
clients until resources become available without creating a lot of garbage.
Based on my understanding flow control in grpc works by controlling the 
amount of data buffered in the receiver. In our use case we want the server 
to have not more than x number of requests which it has to process. Lets 
assume that the server enqueues the requests it receives in a queue for 
processing them(I don't think the isReady control would work in this 
scenario?). Is it possible for server to limit the number of requests it 
receives from the clients? Is it possible for server to stop receiving data 
from the socket?

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/deedd744-0fc1-4cfb-b3c6-d87cc4cc8195%40googlegroups.com.

Reply via email to