awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
asynkron avatar

asynkron/protoactor-go

0
View on GitHub↗
5,469 stars·573 forks·Go·Apache-2.0·30 viewsproto.actor↗

Protoactor Go

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 fault recovery, alongside a persistence mechanism to save and restore internal state after crashes. It also provides capabilities for location-transparent routing, gossip-based cluster membership, and middleware for intercepting actor messages.

Features

  • Actor-Based Concurrency - Provides a complete framework for building concurrent systems using isolated, message-passing actors.
  • Distributed Actor Frameworks - Provides a comprehensive framework for building scalable, resilient distributed systems using the actor model.
  • Cluster Membership Tools - Provides decentralized cluster membership and failure detection using a gossip protocol.
  • Actor Lifecycle Management - Manages the automatic loading and unloading of actor state based on request demand and inactivity.
  • Cross-Language Service Communication - Facilitates communication between microservices written in Go, C#, and Java via a unified protocol.
  • Distributed Actor Networking - Implements a networking layer that allows actors on different machines to communicate via asynchronous messaging.
  • Location Transparency - Enables sending messages to actors using logical addresses, hiding their actual physical network location.
  • Isolated State Management - Ensures thread-safe concurrency by encapsulating internal actor state and managing it without external locks.
  • Virtual Actor Implementations - Provides virtual actor support where actors are automatically instantiated across the network based on unique identities.
  • Virtual Actors - Supports a virtual actor implementation where actors are automatically instantiated across the network based on a unique identity.
  • Distributed Coordination Systems - Provides a coordination layer for managing complex state and synchronization across distributed nodes.
  • Fault Tolerance - Implements a supervision model and persistence mechanism to ensure actor resilience and automatic recovery from crashes.
  • Actor State Persistence - Includes a persistence mechanism to save and restore internal actor state after system crashes.
  • Supervision Recovery Strategies - Implements a supervision hierarchy where parents monitor child actors and apply recovery strategies like restarts.
  • Virtual Actors - Automatically instantiates actors across a cluster based on unique identity rather than fixed locations.
  • Message Passing Systems - Implements architectural decoupling via asynchronous, thread-safe message passing between isolated actors.
  • Cross-Language Protocols - Implements a multi-language actor protocol allowing seamless communication between actors written in Go, C#, and Java.
  • Durable Reminders - Provides durable reminders that execute background tasks regardless of the actor's current activation state.
  • Gossip-Based Cluster Membership - Uses a gossip-based protocol to distribute cluster membership state across all nodes.
  • Actor Worker Routing - Distributes incoming messages across pools of worker actors to balance load and increase throughput.
  • High-Performance Event Routing - Optimizes the routing of asynchronous events across worker pools for high-throughput performance.
  • Message Interception - Provides middleware to intercept, observe, and modify messages within the actor communication pipeline.
  • Message Scheduling - Allows scheduling messages to be delivered to actors at a specific future time or on a fixed timer.
  • Language Interoperability - Enables interoperability between actors implemented in Go, C#, and Java using a shared protocol.
  • Automatic State Propagation - Flows results from completed workers back into the system to trigger subsequent processing steps.
  • Actor State Recovery - Saves actor internal state to a durable store to enable system restoration after a crash.
  • Resumable Workflow Orchestration - Orchestrates deterministic activities, events, and timers while maintaining a reliable system state history.
  • Behavioral State Transition Logic - Supports switching actor behavior at runtime to implement complex state machine transitions.
  • Actor Behavior Switching - Allows actors to dynamically change their message handling logic to implement state machine transitions.
  • Stateful Distributed Actors - Maintains persistent state for actors across distributed process boundaries to allow recovery after crashes.
  • Concurrency Limiters - Provides mechanisms to restrict the number of simultaneous operations to prevent system overload.
  • System Observability - Exposes metrics, traces, and logs to provide deep observability into the actor system's health.
  • Developer Tools - Distributed actor system for cross-language compatibility.

Star history

Star history chart for asynkron/protoactor-goStar history chart for asynkron/protoactor-go

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Protoactor Go

Similar open-source projects, ranked by how many features they share with Protoactor Go.
  • akka/akka-coreakka avatar

    akka/akka-core

    13,272View on GitHub↗

    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

    Scala
    View on GitHub↗13,272
  • actix/actixactix avatar

    actix/actix

    9,223View on GitHub↗

    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

    Rustactixactoractor-model
    View on GitHub↗9,223
  • dotnet/orleansdotnet avatar

    dotnet/orleans

    10,789View on GitHub↗

    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

    C#actor-modelactorscloud-computing
    View on GitHub↗10,789
  • akka/akkaakka avatar

    akka/akka

    13,271View on GitHub↗

    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

    Scala
    View on GitHub↗13,271
See all 30 alternatives to Protoactor Go→

Frequently asked questions

What does asynkron/protoactor-go do?

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.

What are the main features of asynkron/protoactor-go?

The main features of asynkron/protoactor-go are: Actor-Based Concurrency, Distributed Actor Frameworks, Cluster Membership Tools, Actor Lifecycle Management, Cross-Language Service Communication, Distributed Actor Networking, Location Transparency, Isolated State Management.

What are some open-source alternatives to asynkron/protoactor-go?

Open-source alternatives to asynkron/protoactor-go include: akka/akka-core — Akka Core is an actor model framework and asynchronous concurrency library used for building scalable and resilient… actix/actix — Actix is a Rust actor framework and concurrent programming toolkit designed for building applications that manage… dotnet/orleans — Orleans is a .NET distributed actor framework designed for building scalable, cloud-native applications. It implements… akka/akka — Akka is an actor model framework and distributed systems platform used to build concurrent and distributed… puniverse/quasar — Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides… rivet-dev/rivet — Rivet is a distributed infrastructure for managing the lifecycle, addressing, and persistence of stateful actors and…