A pluggable actor system written in java leveraging modern features from JDK21+
An actor is a concurrent unit of computation which guarantees serial processing of messages with no need for state synchronization and coordination. This guarantee of actors mainly comes from the way actors communicate with each other, each actor send asynchronous messages to other actors and each actor only reads messages from its mailbox.
Github Repository: https://github.com/CajunSystems/cajun
Demo Link: https://www.loom.com/share/e8b71ca24ba04dccb1eab77252ec196b?sid=2eaf8cbf-8351-4467-9158-54524fef9029
Actor system and actor lifecycle
Create Actor and Actor System - Done
Support message to self for actor - Done
Support hooks for start and shutdown of actor - Done
Timed messages - Done
Actor metadata management with etcd - In Progress
Actor supervision hierarchy and fault tolerance - Not Started
Persistent state and messaging for actors - Not Started
Partitioned state and sharding strategy - Not Started