Hi Théo. You'll at least want to consider using the async API. See
https://grpc.io/docs/guides/performance/#c for some handy guidelines. The sync API may be fine for fast, non-blocking server-side operations. For the streaming method, you've limited your concurrency there a bit, but that's not a big deal if you're only ever serving 3 clients concurrently. You might run into diminishing returns with such a high thread count, paying thread-switch costs for a large number of threads when your service is under heavy load. As to whether it's inevitable that you move to the async API ... if you have a working solution that performs well enough for your needs, and if you know it doesn't need to grow that much, then it may be reasonable to keep what you have. It's a judgement call, maybe something to benchmark and measure for yourself.