Hey Zach, I have the same question about the implementation in CPP. On Thursday, September 22, 2022 at 4:54:19 AM UTC+8 Zach Reyes wrote:
> What language of gRPC? That'll allow me to route it to the correct person > to answer. > > On Sunday, September 18, 2022 at 9:29:16 AM UTC-4 Timo wrote: > >> I did research on this topic but did not find detailed information in the >> documentation yet. >> How exactly does the thread model of the new callback API work? >> >> When using the synchronous API, the thread model I guess is this: >> - grpc owns threads, number can be limited >> - Several RPCs can operate on one thread, but there's a limit >> - When too many RPCs are open, the client receives a "resource exhausted" >> - An application with multiple clients needs at least one thread per each >> open RPC. >> >> In the callback (not asynchronous) API, I understand: >> - grpc owns threads and spawns new threads if needed >> - multiple RPCs can be handled on one thread non-blocking >> For the server, I wonder how this scales with many (don't have a number >> in mind) RPCs being open. Assuming all 16 threads are spawned, how many >> RPCs can I operate? >> Assuming I have an application with multiple clients implemented, each >> connecting to different servers. >> Would all the clients be able to share the same thread pool, or would (in >> worst case) each client spawn 16 threads? >> >> Especially when designing microservices where each service offers a >> server, but can be a client to another service it may be important to not >> scale threads too much. >> >> Thanks >> > -- 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 grpc-io+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/5dd5c7bf-d373-4258-b4e3-274f2bc1ca4fn%40googlegroups.com.