Hello,

I am trying to build a high-performance server with GRPC. As recommended in
performance notes for cpp, I wish to create 1 completion-queue per CPU and
tie 1 completion-queue per thread. I'd prefer to avoid any other thread in
my system. All threads would continuously poll from their respective
completion-queue and process read events.

The server also has interactions with other IO systems - say Kafka. For
this model to work efficiently, the server should be able to schedule other
events (say Kafka write finished) on completion-queue to avoid polling
multiple IO services.

Grpcpp CompletionQueue interface does not support scheduling events. Core
surface API has that interface but that is not publicly visible via Bazel.

I am looking for guidance on the following questions -

1. Is this approach recommended?
2. If yes, how can I schedule events on CompletionQueue?
3. What other alternatives should we consider?

Regards,
Satyam

-- 
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/CAAy_rtHxP7YmEMJD5wTDKG%3DDsXW41qWZzOzHczcPgoZDo4H0bg%40mail.gmail.com.

Reply via email to