11 repositorios
Frameworks and patterns for managing stateful objects that communicate via asynchronous message passing.
Distinguishing note: No candidates provided; this is a foundational architectural pattern for distributed state management.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Actor Models. Refine with filters or upvote what's useful.
This project serves as a comprehensive knowledge base and reference for distributed systems engineering and enterprise software architecture. It provides a structured collection of technical resources, design patterns, and methodologies intended to assist in the design, maintenance, and scaling of complex, high-performance software environments. The repository distinguishes itself by offering deep dives into core architectural concepts such as actor-based concurrency, aspect-oriented interception, and inversion-of-control containers. It emphasizes the practical application of distributed syst
Learn to structure stateful, independent units of computation that interact exclusively via asynchronous message passing.
Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting task scheduling and resource management. It functions as a resource-aware execution engine that manages task dependencies, placement, and fault tolerance across networked compute nodes. At its core, the system provides a stateful actor model, allowing developers to define classes that run in dedicated processes to maintain and mutate internal state across remote method calls. The framework distinguishes itself through a robust cross-language interoperability layer, enabling f
A model where stateful objects run in dedicated processes to maintain and mutate internal state across remote method calls.
XState is a statechart logic library and finite state machine framework used to model complex application behavior. It provides a system for defining states, events, and transitions to govern how a system responds to inputs through a formal schema. The project includes a visual state machine editor that allows for the design of state machine diagrams which automatically generate the corresponding logic and code. It implements an actor model to manage independent concurrent entities that communicate via asynchronous events to coordinate behavioral flows. The framework covers event-driven stat
Implements an actor model to manage independent stateful entities that communicate via asynchronous message passing.
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Encapsulates logic into independent units that communicate via asynchronous messages for distributed state management.
Akka is an actor model framework and distributed systems platform used to build concurrent and distributed applications. It provides a toolkit for managing multi-threaded state and behavior through asynchronous message passing, allowing developers to create concurrent applications without manual locks or synchronization. The system functions as a cluster management and event sourcing framework, automating the scaling and coordination of high-availability clusters. It enables the deployment of elastic services that coordinate workloads across multiple network nodes and ensures fault tolerance
Provides a comprehensive toolkit for building concurrent and distributed applications based on the actor model.
Orleans is a .NET distributed actor framework designed for building scalable, cloud-native applications. It implements a virtual actor model where entities with stable identities manage their own state and lifecycle across a cluster of servers. The framework provides a distributed state management system with ACID transaction support and a distributed pub/sub streaming engine for real-time data processing. It distinguishes itself through location-transparent routing, automatic actor activation and deactivation, and elastic cluster scaling that redistributes workloads during node failures. Th
Implements a virtual actor model where entities with stable identities manage their own state and lifecycle across a cluster.
Actix is a Rust actor framework and concurrent programming toolkit designed for building applications that manage state through an asynchronous messaging system. It provides a model where independent actors serve as autonomous units of state and logic, communicating via strongly typed messages sent to unique addresses. The framework distinguishes itself by isolating state within these actors, allowing internal data to be mutated safely during message handling without the use of locks or mutexes. It employs an asynchronous mailbox system to buffer incoming requests and uses supervision strateg
Provides a framework for building scalable systems based on stateful objects communicating via asynchronous messages.
Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an
Provides a complete framework for building concurrent and distributed applications using isolated actors and asynchronous messaging.
Quasar es un framework de concurrencia para la JVM que implementa el modelo de actores y una librería de hilos ligeros. Proporciona unidades de ejecución aisladas que se comunican mediante paso de mensajes asíncronos para eliminar el estado mutable compartido. El proyecto se distingue por un sistema de actores distribuido capaz de operar a través de múltiples nodos de clúster con registros de ubicación transparente y migración de estado de actores. Utiliza un planificador de fibras (fibers) con robo de trabajo (work-stealing) para gestionar millones de hilos ligeros, permitiendo que las tareas se suspendan durante operaciones de E/S no bloqueantes sin detener los hilos del sistema subyacente. El framework abarca un amplio conjunto de capacidades, incluyendo jerarquías de supervisión para la recuperación tolerante a fallos y canales de comunicación al estilo CSP para la sincronización de flujo de datos. También proporciona primitivas para coordinar tareas mediante futures y variables de flujo de datos, así como herramientas para monitorear la salud de las fibras y detectar ejecuciones fuera de control. El sistema está implementado en Java.
Implements the actor model to provide isolated execution units that communicate via asynchronous message passing.
This project is an educational curriculum and architectural framework for building autonomous AI agents and multi-agent systems. It provides a structured learning path focused on the development of independent software components capable of planning, executing tasks, and utilizing external tools to achieve high-level goals. The framework emphasizes multi-agent system orchestration through distributed architectures where specialized agents collaborate using standardized communication protocols. It details specific design patterns such as dual-memory systems for maintaining short-term plans and
Architects agents as stateful actors that manage their own lifecycle and state within a distributed system.
Nano is a distributed application framework designed for building systems using an actor-based messaging model. It functions as a distributed actor framework that decouples components through asynchronous messaging to maintain state isolation across a server cluster. The system acts as a cluster message dispatcher and session-aware request router, tracking client state to route incoming messages to the specific agent holding the session data. It utilizes a distributed agent registry to coordinate the dispatching of messages between multiple application instances acting as agents. The framewo
Implements a distributed actor model to maintain state isolation through asynchronous message passing between independent agents.