api: support gRPC and provide SDKs
Open
feature/future
- Dominant language
- Go
- Stars
- 9.8k
- Forks
- 912
- Avg merge
- 2h 35m
- Merged PRs (30d)
- 9
Description
Compare to exited RESTful API, gRPC is more efficient for communications among servers.
## Design
For each API, move current implementation to a shared handler, and call this shared handler from RESTful API handler as well as gRPC API handler.
```
┌───────────┐ ┌───────────┐
│RESTful API│ │ gRPC API │
└─────────┬─┘ └─┬─────────┘
│ │
┌─▼─────▼─┐
│ Handler │
└─────────┘
```
## Tasks
- [ ] gRPC APIs
- [ ] Gorse Go SDK
- [ ] Gorse Java SDK
- [ ] Gorse Rust SDK
- [ ] Gorse Python SDK
- [ ] Gorse Node.js SDK
Contributor guide
Assessment
This issue has not been assessed yet.