Provide a more standard RPC client interface
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
Our current client/server exchange relies on a custom protocol and the presence of sophisticated logic on the client side of that exchange. There would be value in providing as an additional option a more standard RPC interface (e.g. using gRPC), with all of the complicated logic located on the RPC server. In particular, this gives clients the option of not wrapping our native C client library and also not inheriting the complicated versioning story that doing so entails.
It could also be used as a means to provide a different access method to the cluster (i.e. not through the cluster file with its cluster connection string) and support for greater numbers of clients without subjecting the cluster itself to connections from all of them.
Contributor guide
Research direction
The issue does not name files, tests, or an entry point. Start by mapping the existing client/server protocol and its versioning and cluster-connection paths, then investigate how a gRPC-based server-side interface could fit. Done would require an agreed design and implementation scope for the alternate client and cluster access path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, grpc
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100