Skip to content
Mehrdad edited this page Nov 28, 2017 · 11 revisions

What is Akka.Net

Akka.NET helps you build reliable applications which make use of multiple processor cores in one machine ("scaling up") or distributed across a computer network ("scaling out").

Akka allows you to focus on meeting business needs instead of writing low-level code to provide reliable behavior, fault tolerance, and high performance.

  • Multi-threaded behavior without the use of low-level concurrency constructs like atomics or locks. You do not even need to think about memory visibility issues.
  • Transparent remote communication between systems and their components. You do not need to write or maintain difficult networking code. It's all handled via configuration
  • A clustered, high-availability architecture that is elastic, scales in or out, on demand.

What does Akka give me?

  • Simple Concurrency & Distribution: Asynchronous and Distributed by design. High-level abstractions like Actors and FSM.
  • High Performance: 50 million msg/sec on a single machine. Small memory footprint; ~2.5 million actors per GB of heap.
  • Resilient by Design: Write systems that self-heal. Remote and/or local supervisor hierarchies.
  • Elastic & Decentralized: Adaptive load balancing, routing, partitioning and configuration-driven remoting.
  • Extensible: Use Akka.NET Extensions to adapt Akka to fit your needs.
  • Open Source: Akka.NET is released under the Apache 2 license
Clone this wiki locally