srpc | boxcar | |
---|---|---|
2 | 1 | |
4 | 0 | |
- | - | |
2.6 | 10.0 | |
over 2 years ago | almost 2 years ago | |
Rust | Rust | |
- | GNU Lesser General Public License v3.0 only |
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.
boxcar
-
Why messaging is much better than REST for inter-microservice communications
I made a very similar project in Rust that seems to mimic this idea: https://github.com/volfco/boxcar
The core idea I had was to decouple the connection from the execution of the RPC. Mats3 looks to be doing a lot more than what I've done so far, but it's nice to see similar ideas out there to take inspiration from.
What are some alternatives?
rmp-rpc - a msgpack-rpc rust library based on tokio
ideas2 - Another 85+ Ideas for Computing https://samsquire.github.io/ideas2/
volo - Rust RPC framework with high-performance and strong-extensibility for building micro-services.
cadence - Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
turbocharger - Autogenerated async RPC bindings that instantly connect a JS or Rust/WASM frontend to a Rust backend via a WebSocket connection.
Apache Camel - Apache Camel is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data.
sia - Distributed systems library for making communications through the network easier, while keeping minimalism and flexibility. [Moved to: https://github.com/znx3p0/canary]
mats3 - Mats3: Message-based Asynchronous Transactional Staged Stateless Services
fluvio - Lean and mean distributed stream processing system written in rust and web assembly.
zzrpc - RPC over mezzenger transports.
canary - Distributed systems library for making communications through the network easier, while keeping minimalism and flexibility.
SocketCluster - Highly scalable realtime pub/sub and RPC framework