Instead of resorting to Erlang, Elixr, Rust, Go, and Akka to use the Actor Model or do Event-driven Programming, keep writing more and more powerful Ruby code in new ways. With Celluloid, anyone can write their own high-performance, light-weight server applications. But it doesn't stop at server applications...
The joy of writing Ruby code doesn't end at high-performance concurrent, parallel, asynchronous, and distributed programming. Using the beautiful Ruby language and Celluloid, any kind of application can take full advantage of modern CPU's and cloud computing platforms, using the Actor model and Evented programming.
There are several gems in the Celluloid suite, and together they provide a complete toolset for actor-based evented multi-threaded, multi-core programming in Ruby:
- Celluloid
- Celluloid::IO
- Celluloid::ZMQ
- Reel
- DCell
- Several more...
- HTTP/S and WebSocket Servers like those based on Reel.
- Custom Domain Specific Languages like Angelo, for the web.
- Background processing backends like Sidekiq and Sucker Punch.
- High-performance protocol servers like Celluloid::DNS.
- Distributed computing systems like DCell.
- Telephone systems like Adhearsion.
- Process monitoring tools like Eye.
- Countless uses outside server applications, like: