There are a *lot* of actor framework projects on Cargo.

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Rustler

    Safe Rust bridge for creating Erlang NIF functions

  • I mean, if you just copied erlang exactly, you'd at least have erlang-in-rust (which is what rustler seems to do)

  • Celluloid

    Actor-based concurrent object framework for Ruby

  • Speaking as someone who has used Erlang longer than most, who created a pre-Elixir-like language for Erlang's BEAM VM, and who routinely listens to Carl Hewitt's rants about why Erlang actors are bad, and who tried to make a Ruby actor library after using innumerable other library-level actor solutions...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Akka

    Build highly concurrent, distributed, and resilient message-driven applications on the JVM

  • Speaking as someone who has used Erlang longer than most, who created a pre-Elixir-like language for Erlang's BEAM VM, and who routinely listens to Carl Hewitt's rants about why Erlang actors are bad, and who tried to make a Ruby actor library after using innumerable other library-level actor solutions...

  • component

    Managed lifecycle of stateful objects in Clojure (by stuartsierra)

  • Yeah like I mentioned I'm not like super sold on the everything-should-be-an-actor paradigm, but I find value in DDD + a light implementation of Components (similar to stuartsierra/component).

  • gleam

    ⭐️ A friendly language for building type-safe, scalable systems!

  • Thanks for the insight -- I personally can see benefit in remaking Erlang in rust just for the strong typing. At present I only know of Gleam which is typed Elixir and don't know any typed Elixir. I like types very much, and Rust is basically second to Haskell in my mind for expressive type systems that I like using.

  • i2c_hackery

    Some experimentation from before I heard about the upcoming Prusa Connect software.

  • Does that one even count, in the absence of some sort of macro to write all the boilerplate? ;)

  • ponyc

    Pony is an open-source, actor-model, capabilities-secure, high performance programming language

  • For actor centric programming, I'm more interested in Pony than trying to build actors in top of Rust, where most actor abstractions feel a little clunky and out of place.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • specs

    Specs - Parallel ECS (by amethyst)

  • Wait did the person at your company write specs or something else because they weren't pleased with it? I don't know much about amethyst and vaguely know about entity component systems but I watched a talk on someone making a game with amethyst and was pretty impressed -- it looked thoroughly approachable and I do not doubt the performance is there (since the whole reason you do ECS is performance).

  • moleculer-rs

    🚀 Progressive microservices framework for Rust, based on and compatible with moleculerjs/moleculer

  • You can see it here: https://github.com/primcloud/moleculer-rs

  • protocol

    Protocol specification for Moleculer Framework (by moleculer-framework)

  • Here is the protocol I implemented in rust: https://github.com/moleculer-framework/protocol

  • Moleculer

    :rocket: Progressive microservices framework for Node.js

  • Would love to. I built a rust client for the moleculer microservices framework

  • uppercut

    Small and simple actor model implementation.

  • One more Actor Model implementation for the list: https://github.com/sergey-melnychuk/uppercut

  • ponyarchive

    A wrapper for libarchive for Pony

  • Personally I know all this from digging around in libponyrt, writing some bad Pony code and spending some time in the Pony community.

  • crates.io

    The Rust package registry

  • I always thought that crates.io should impose a minimum crate name length requirement, eg 16+chars, and require community voting for shorter names for easily discoverabilty for popular projects. ( so 10+ projects all have lengthy names.. and eventually when one gains traction it can be renamed plain "actors-rs" or whatever

  • distillery

    Simplify deployments in Elixir with OTP releases!

  • I've saved a link to distillery just in case, cheers.

  • lucet

    Discontinued Lucet, the Sandboxing WebAssembly Compiler.

  • I guess lucet could be an under-layer for this but it's not really the same, different levels of the stack. Fascinating.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts