After my careful study on 
"https://github.com/grpc/grpc/blob/master/test/cpp/qps/server_async.cc:"; 
suggested in another topic "*GRPC Threading Model*", I have some concreted 
questions wandering in my mind, because
user has to provide their own threading models. Since I am implementing 
pubsub services on top of grpc, threads are important for stream 
rpc performance. I am seeking help from grpc community. 


I am implementing a aysnc grpc pubsub services (multiple services methods), 
and try to utilize multi threads to boost performances. Solution form 
"https://github.com/grpc/grpc/blob/master/test/cpp/qps/server_async.cc:"; 
just tell me that each thread handles a unique CallData object 
(ServerRpcContext 
instance): 

one thread <-> one completion queue <-> one grpc server context, one rpc 
method (CallData instance with its address as a unique tag)

I am familiar with hands on experiences of Linux event handling mechanisms 
of epoll , kqueue, and select. Now I am curious about what are the 
differences of the following grpc threading models and how to implement 
them in pubsub server and client sides:

1 thread <-> 1 completion queue <-> mutliple rpc methods handling
1 thread <-> multple completion queue <-> multiple rpc methods handling
many threads <-> 1 completion queue
many threads <-> many completion queue






-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/c4c4423f-5810-4f76-b4c3-b59a3b1e5268%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to