-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Choose RPC framework #3
Comments
I think tonic via unix domain sockets and golang GRPC is still broken due to hyperium/h2#487, but we have to give it a try. |
One worry I have is about the binary size and the memory usage. I opened a PR #4 to set some flags during build time. I think if we stay under 4MB RSS that may be okay if we run one conmon for a pod. |
I took a look at the server and see it using 3.0 MB RSS in release mode. Removing Tonic decreases RSS to 1 MB (still using tokio). Perhaps it does make sense to find something lighter weight. |
I was playing around with cap'n proto and indeed it seems to use less memory. But switching to the single threaded grpc (tonic) variant saves even more memory: #9 |
I think we can close this one now and stick with tonic. I'll add a CI job to compare the used RSS of PRs. |
there are tons of RPC frameworks to choose from. we've flirted with the idea of grpc, ttrpc, cap n proto. we should probably just pick one. any other ideas?
The text was updated successfully, but these errors were encountered: