# GoAkt > Distributed actor framework for Go, inspired by Erlang and Akka. Build reactive and distributed systems with typed actor messages. ## Docs - [Actor Model](https://docs.goakt.dev/actor/actor-model.md): Actor interface, hierarchy, and core concepts. - [Actor System](https://docs.goakt.dev/actor/actor-system.md): Top-level runtime hosting actors, messaging, clustering, and lifecycle. - [Behaviors](https://docs.goakt.dev/actor/behaviors.md): Switch message handlers with Become and UnBecome. - [Death Watch](https://docs.goakt.dev/actor/death-watch.md): Watch actors and react when they terminate. - [First Actor](https://docs.goakt.dev/actor/first-actor.md): Create your first actor system, spawn an actor, and send messages. - [Actor Lifecycle](https://docs.goakt.dev/actor/lifecycle.md): Spawn, stop, and lifecycle events. - [Location Transparency](https://docs.goakt.dev/actor/location-transparency.md): Interact with actors without knowing their physical location. - [Messaging](https://docs.goakt.dev/actor/messaging.md): Tell, Ask, and PipeTo for actor communication. - [Passivation](https://docs.goakt.dev/actor/passivation.md): Idle-based and capacity-based actor deactivation. - [PID](https://docs.goakt.dev/actor/pid.md): Process identifier for location-transparent actor references. - [PipeTo](https://docs.goakt.dev/actor/pipeto.md): Run async tasks and deliver results to actors. - [Reentrancy](https://docs.goakt.dev/actor/reentrancy.md): Reentrant messaging modes and StashNonReentrant. - [Relocation](https://docs.goakt.dev/actor/relocation.md): Automatic actor migration when nodes leave the cluster. - [Routers](https://docs.goakt.dev/actor/routers.md): Round robin, random, fan-out, and consistent-hash routing strategies. - [Scheduling](https://docs.goakt.dev/actor/scheduling.md): Timers and delayed messaging. - [Cluster Singletons](https://docs.goakt.dev/actor/singletons.md): Single actor instance across the cluster. - [Stashing](https://docs.goakt.dev/actor/stashing.md): Buffer messages for later processing with Stash and Unstash. - [Supervision](https://docs.goakt.dev/actor/supervision.md): One-for-one and one-for-all strategies, directives, and retry. - [TestKit](https://docs.goakt.dev/actor/testkit.md): Testing helpers for actor systems and grains. - [Client](https://docs.goakt.dev/advanced/client.md): Standalone client for interacting with a GoAkt cluster from outside the actor system. - [Coordinated Shutdown](https://docs.goakt.dev/advanced/coordinated-shutdown.md): Configurable shutdown hooks and graceful termination. - [Distributed Data (CRDTs)](https://docs.goakt.dev/advanced/distributed-data.md): Replicated data structures that converge across cluster nodes without coordination. - [Event Streams](https://docs.goakt.dev/advanced/event-streams.md): Internal in-process mechanism for system and cluster events. - [Extensions and Dependencies](https://docs.goakt.dev/advanced/extensions-and-dependencies.md): System-wide extensions and per-actor dependency injection. - [Observability](https://docs.goakt.dev/advanced/observability.md): Metrics, event streams, dead letters, and OpenTelemetry integration. - [PubSub](https://docs.goakt.dev/advanced/pubsub.md): Application-level topic-based publish/subscribe messaging. - [Remoting](https://docs.goakt.dev/advanced/remoting.md): Configure TCP-based messaging between actors across nodes. - [Serialization](https://docs.goakt.dev/advanced/serialization.md): Pluggable message serialization for ProtoSerializer and CBORSerializer. - [Streams](https://docs.goakt.dev/advanced/streams.md): Demand-driven, actor-native stream processing with backpressure, stage fusion, and rich operators. - [Code Map](https://docs.goakt.dev/architecture/code-map.md): Package layout and responsibilities. - [Design Decisions](https://docs.goakt.dev/architecture/design-decisions.md): Architectural choices and rationale. - [Dispatcher Pool](https://docs.goakt.dev/architecture/dispatcher-pool.md): The execution substrate underneath every actor — a fixed worker pool that cooperatively multiplexes the entire actor population. - [Architecture Overview](https://docs.goakt.dev/architecture/overview.md): System design and component diagram. - [Clustered Mode](https://docs.goakt.dev/clustering/clustered.md): Multi-node cluster with membership and discovery. - [Multi-Datacenter](https://docs.goakt.dev/clustering/multi-datacenter.md): Cross-datacenter replication and placement. - [Service Discovery](https://docs.goakt.dev/clustering/service-discovery.md): Discovery providers for cluster membership. - [Standalone Mode](https://docs.goakt.dev/clustering/standalone.md): Single-node actor system without clustering. - [Development Setup](https://docs.goakt.dev/contributing/development-setup.md): Clone, build, and run tests. - [Extending GoAkt](https://docs.goakt.dev/contributing/extending.md): Adding discovery, mailboxes, and extensions. - [Contributing Overview](https://docs.goakt.dev/contributing/overview.md): How to contribute to GoAkt. - [Testing Strategy](https://docs.goakt.dev/contributing/testing-strategy.md): TestKit, mocks, and integration tests. - [Installation](https://docs.goakt.dev/getting-started/installation.md): Add GoAkt v4 to your Go module. - [Migration from v3.x](https://docs.goakt.dev/getting-started/migration-v3.md): Upgrade guide from GoAkt v3 to v4. - [Grains](https://docs.goakt.dev/grains/overview.md): Virtual actors with automatic activation and passivation. - [Introduction](https://docs.goakt.dev/index.md): GoAkt — distributed actor framework for Go. - [eGo](https://docs.goakt.dev/meta-framework/ego.md): Event sourcing, durable state, CQRS projections, and saga orchestration built on GoAkt. - [Glossary](https://docs.goakt.dev/reference/glossary.md): Key terms and concepts. - [Interfaces Reference](https://docs.goakt.dev/reference/interfaces.md): Actor, Grain, and extension interface definitions. - [API Changes (v4.0.0)](https://docs.goakt.dev/reference/v400-changes.md): Breaking changes and new APIs in v4. ## OpenAPI Specs - [openapi](https://docs.goakt.dev/api-reference/openapi.json)