15 repository-uri
Frameworks that implement the actor model to build scalable, distributed systems.
Distinct from Actor Frameworks: The candidates were either too generic (.NET Frameworks) or too narrow (specific actor implementations), while this describes the core product category.
Explore 15 awesome GitHub repositories matching software engineering & architecture · Distributed Actor Frameworks. Refine with filters or upvote what's useful.
Akka Core is an actor model framework and asynchronous concurrency library used for building scalable and resilient distributed systems. It provides a distributed computing platform and fault tolerant runtime that manages communication and state across networked nodes. The system uses location-transparent messaging and a cluster management system to organize nodes into high-availability architectures. This allows for the creation of elastic clusters that scale resources on demand and coordinate distributed workloads. The platform handles concurrent state management and distributed systems or
Implements the actor model to build highly scalable, resilient, and distributed systems.
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
Provides a comprehensive .NET framework for building scalable cloud-native applications using a virtual actor model.
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
Implements a distributed actor system to manage stateful entities across a cluster.
ET is a C# game server framework and distributed actor model runtime designed for large-scale multiplayer environments. It provides a comprehensive toolkit for building distributed game backends, incorporating a multiplayer network transport layer and a specialized suite for game AI and pathfinding. The framework is distinguished by its use of a distributed actor model to scale processing across multiple threads and servers, utilizing isolated actors for state management and messaging. It features a unified codebase architecture that allows shared logic between the server and client, enabling
Implements a distributed actor model to scale state management and asynchronous messaging across a multi-process 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
Implements a specialized actor framework in Rust for building scalable, concurrent, and distributed systems.
Rivet este o infrastructură distribuită pentru gestionarea ciclului de viață, adresarea și persistența actorilor stateful și a motoarelor de execuție durabile. Oferă un sandbox de proces distribuit care execută logica aplicației în izolate ușoare, asigurând izolarea resurselor și porniri rapide (fast cold starts). Sistemul este conceput pentru a coordona operațiuni în mai mulți pași folosind cozi persistente și temporizatoare pentru a garanta finalizarea fiabilă a sarcinilor în medii distribuite. Platforma permite în mod specific orchestrarea agenților AI stateful care mențin memorie și stare persistentă pe parcursul interacțiunilor de lungă durată și al fluxurilor de lucru complexe. Se distinge printr-un framework de sincronizare a stării prin WebSocket care leagă componentele interfeței utilizator frontend de procese stateful la distanță prin comunicare bidirecțională în timp real. Sistemul acoperă o gamă largă de capabilități, inclusiv adresarea ierarhică a actorilor, un runtime de tip hibernate-on-idle pentru optimizarea resurselor și un strat de persistență pluggable pentru backend-uri de stocare modulare. Include, de asemenea, instrumente pentru depanarea sesiunilor active, monitorizarea stării de execuție în timp real și opțiuni de deployment automatizat pentru infrastructură edge, cloud sau privată. Proiectul este implementat în Rust și suportă dezvoltarea de actori în mai multe limbaje.
Organizes distributed stateful instances using path-based namespaces for secure communication and discovery.
protoactor-go is a framework for building concurrent and distributed systems in Go using the actor model. It provides a distributed actor system that enables isolated entities to communicate via asynchronous messaging and share state across a cluster. The framework implements a multi-language actor protocol, allowing interoperability between actors written in Go, C#, and Java. It further supports a virtual actor implementation, where actors are automatically instantiated across a network based on a unique identity. The system includes a supervision model for managing actor lifecycles and fau
Provides a comprehensive framework for building scalable, resilient distributed systems using the actor model.
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 comprehensive framework for building concurrent and distributed applications using the actor model.
Lunatic este un runtime WebAssembly și un manager de procese concurente care implementează un model inspirat de Erlang de concurență ușoară și toleranță la erori. Funcționează ca un sistem de actori distribuit unde procesele izolate comunică prin transmiterea de mesaje într-o rețea de noduri conectate. Sistemul utilizează un mediu sandbox WebAssembly pentru a izola memoria și a restricționa permisiunile de apel de sistem pentru fiecare proces individual. Acest model de securitate bazat pe capabilități asigură că procesele sunt izolate pentru a executa în siguranță cod neîncredere. Platforma oferă un arbore de supraveghere tolerant la erori pentru monitorizarea ierarhică și repornirea automată a proceselor care eșuează. Gestionează sarcinile de lucru cu concurență ridicată folosind un scheduler preemptiv de tip work-stealing pentru a executa mii de thread-uri ușoare (green threads). Runtime-ul suportă coordonarea sistemelor distribuite prin gruparea nodurilor pe diferite mașini fizice și gestionează traficul de rețea pentru protocoale precum TCP și WebSockets.
Provides a framework implementing the actor model for building scalable systems across a network of linked nodes.
DouZero este un framework de deep reinforcement learning și un sistem de antrenare conceput pentru a învăța agenții digitali să stăpânească jocuri de cărți complexe. Oferă infrastructura pentru a implementa pipeline-uri de reinforcement learning cu throughput ridicat și pentru a evalua succesul competitiv al agenților de joc. Sistemul utilizează o arhitectură distribuită actor-learner care separă actorii de simulare a jocului de dispozitivele de antrenare GPU pentru a accelera convergența modelului. Combină Monte Carlo Tree Search cu estimarea valorii bazată pe politici pentru a determina mișcările optime prin evaluare recursivă și eșantionare aleatorie. Toolkit-ul include capabilități pentru bucle de simulare self-play pentru a genera date de antrenare sintetice și buffere de experiență asincrone pentru antrenarea pe loturi eșantionate. De asemenea, dispune de instrumente de benchmarking pentru a măsura performanța agentului prin compararea ratelor de câștig față de seturi de date aleatorii, bazate pe reguli sau umane.
Uses a distributed actor-learner architecture to decouple game simulation from GPU model updates.
Quasar este un framework de concurență pentru JVM care implementează modelul actor și o bibliotecă de thread-uri lightweight. Oferă unități de execuție izolate care comunică prin mesagerie asincronă pentru a elimina starea mutabilă partajată. Proiectul se distinge printr-un sistem de actori distribuit capabil să opereze pe mai multe noduri de cluster cu registre transparente din punct de vedere al locației și migrarea stării actorilor. Utilizează un scheduler de tip „work-stealing fiber” pentru a gestiona milioane de thread-uri lightweight, permițând sarcinilor să se suspende în timpul operațiunilor I/O non-blocante fără a bloca thread-urile de sistem subiacente. Framework-ul cuprinde un set larg de capabilități, inclusiv ierarhii de supraveghere pentru recuperare tolerantă la erori și canale de comunicare de tip CSP pentru sincronizarea fluxului de date. De asemenea, oferă primitive pentru coordonarea sarcinilor prin futures și variabile de flux de date, precum și instrumente pentru monitorizarea stării fibrelor și detectarea execuțiilor necontrolate. Sistemul este implementat în Java.
Provides a distributed actor system capable of operating across multiple cluster nodes with location transparency.
Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the construction of resilient, concurrent applications that can communicate transparently with Erlang/OTP nodes. At its core, it provides an actor model with isolated lightweight processes, priority-ordered mailboxes, and a meta-process architecture that separates blocking I/O from sequential message handling to prevent actor freezing. The framework includes a Raft-inspired cluster consensus system for leader election and automatic failover, along with OTP-style supervision trees that organi
Building resilient, concurrent applications using the actor model with isolated processes and asynchronous message passing.
NoahGameFrame este un framework de server de joc distribuit, conceput pentru jocuri multiplayer în timp real. Utilizează un backend bazat pe modelul actor pentru a gestiona starea și logica jocului printr-un sistem asincron, bazat pe evenimente, care distribuie sarcinile de lucru pe mai multe CPU-uri. Framework-ul dispune de un mediu de server scriptabil care integrează limbaje de scripting externe, permițând actualizări ale comportamentului și mecanicii jocului fără a reporni serverul. De asemenea, folosește o arhitectură bazată pe plugin-uri cu un design orientat pe interfețe pentru a permite adăugarea de logică personalizată a aplicației și extensii modulare ale motorului. Sistemul gestionează concurența printr-un model de execuție thread-pool și coordonează actualizările de stare prin transmiterea asincronă de mesaje pentru a menține consistența între procesoarele distribuite.
Implements a distributed actor framework to scale multiplayer game logic across multiple CPU cores.
Open-Instruct is a distributed training and instruction tuning framework for large language models. It functions as a coordinator for supervised fine-tuning, reinforcement learning from human feedback pipelines, and tool-use training, providing specialized roles for dataset curation and model alignment. The project distinguishes itself through a high-performance training architecture that utilizes actor-based distributed coordination and hybrid sharding to manage large GPU clusters. It implements advanced alignment techniques including direct preference optimization, group relative policy opt
Utilizes a distributed actor framework to coordinate training and communication across large GPU clusters.
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 framework that uses an actor-based messaging model to ensure state isolation across a cluster.