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.
