-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
Description
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.