srpc
tarpc
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
srpc
-
Any suggestion to build a long-lived connection with dual-rpc capability
You could check out SRPC or Canary, although a new version will be released shortly which has tons of breaking changes (you can use the new version via canary = { git = “https://github.com/znx3p0/canary” })
-
Distributed systems you'd like to see in Rust?
It's already on crates.io and has a book to get started, a simple but powerful RPC system and it supports multiple backends for communication (TCP, UNIX, more to come) and automatic encryption.
tarpc
-
A high performance Remote Procedure Call (RPC) system for rust
You can think its better version of tarpc
- Typesafe client generation for servers? (similar to trpc)
-
Anyone have experience with tarpc?
tarpc is a Rust RPC crate by google (not official)
-
Any suggestion to build a long-lived connection with dual-rpc capability
gRPC (https://github.com/google/tarpc) is the first thought here, but it is bounded to http2 and the client has to initiate the connection, I haven't used stream request before so not sure if it fits my situation.
-
Hey Rustaceans! Got an easy question? Ask here (2/2022)!
For generating server and client code from an interface description, you may try tonic for gRPC with protobuf as your interface language, or tarpc if you want to describe the API in Rust.
What are some alternatives?
rmp-rpc - a msgpack-rpc rust library based on tokio
tonic - A native gRPC client & server implementation with async/await support.
volo - Rust RPC framework with high-performance and strong-extensibility for building micro-services.
capnproto-rust - Cap'n Proto for Rust
turbocharger - Autogenerated async RPC bindings that instantly connect a JS or Rust/WASM frontend to a Rust backend via a WebSocket connection.
jsonrpc - Rust JSON-RPC implementation
sia - Distributed systems library for making communications through the network easier, while keeping minimalism and flexibility. [Moved to: https://github.com/znx3p0/canary]
lust - A fast, auto-optimizing image server designed for high throughput and caching; Now that is hot.
boxcar - Boxcar RPC
retainer - Minimal async cache in Rust with support for key expirations
fluvio - Lean and mean distributed stream processing system written in rust and web assembly.
delay-timer - Time-manager of delayed tasks. Like crontab, but synchronous asynchronous tasks are possible scheduling, and dynamic add/cancel/remove is supported.