tellus is an actor framework for Rust built on Tokio: synchronous message handlers, death watch with an ordering guarantee, supervision and event sourcing. Since 0.4.0 its actors can form a cluster. An ActorRef is serializable, so tell, ask and watch work the same on an actor in another process or on another machine.
The cluster has no leader: members gossip their list, a phi accrual failure detector marks silent members unreachable, and a pluggable downing provider (KeepMajority by default) decides who is gone. On top of that come remote death watch, a receptionist and pub-sub, bootstrap through DNS or Kubernetes, mutual TLS bound to node addresses, and a graceful leave. It is meant for clusters of tens of nodes, not yet (optimizations are planned) for hundreds.
I wrote up what it does, with code and a recording of a five node cluster under permanent chaos: tellus 0.5: the same ActorRef, across machines: Heiko Seeberger
- Docs and the clustered actors tutorial: https://tellus.rs
- Crate: crates.io: Rust Package Registry
- Code: GitHub - tellus-rs/tellus: An actor framework for Rust: typed messages, supervision trees, death watch, event sourcing. · GitHub
Feedback and questions are very welcome.
1 post - 1 participant



