Skip to content

Move to actor model #187

@sheosi

Description

@sheosi

Given how it works, Lily is analogue to a web server, and thus, it is a great candidate for the actor model. Moving to the actor model would not only make the code cleaner, but also:

  • Make it scalable: Since we can have multiple actors of something, we can process concurrently requests. The nice thing is that actor model frameworks work mostly in a cooperative manner (using one thread), and yet they can work on different threads, meaning that they will work well in both 1-core systems (like a Raspberry Pi 1 or 0) and in big servers.
  • Make it distributed: Some actor models frameworks are able to communicate in between processes, making it easy to create a distributed system.

Here are some interesting actor model frameworks:
https://github.com/bastion-rs/bastion (big framework with lots of functionality, custom executor).
https://github.com/Restioson/xtra (small)
https://github.com/fdeantoni/tiny-tokio-actor (small)
https://github.com/leonhartley/coerce-rs (small)

There are much more, but those seem the most active and sensible options.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions