akka-core README

The project's README from github.com/akka/akka-core. As one markdown file: README.md.

Akka

Akka is a powerful platform that simplifies building and operating highly responsive, resilient, and scalable services.

The platform consists of

The Akka SDK and Akka Automated Operations are built upon the foundational Akka libraries, providing the building blocks for distributed systems.

Akka has been downloaded more than 1 billion times and has powered thousands of systems for over 15 years. Akka enables millions of concurrent users, terabyte stream processing, low-latency read/write data access, 99.9999% availability, and multi-region high availability and disaster recovery (HA/DR).

Akka is used to build agentic AI, AI inference, transactional, analytical, digital twin, IOT, and edge-to-cloud systems. It is simple to learn and operate. Akka creates production-ready systems without requiring prior knowledge of events, threading, or distributed systems.

Akka core library

The Akka core library provides:

At Akka's core is the actor model which provides a level of abstraction that makes it easier to write correct concurrent, parallel and distributed systems. The actor model spans the full set of Akka libraries, providing you with a consistent way of understanding and using them. Thus, Akka offers a depth of integration that you cannot achieve by picking libraries to solve individual problems and trying to piece them together.

Using the Actor Model we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications. This model is a perfect match for the principles laid out in the Reactive Manifesto.

For resilience, we adopt the "Let it crash" model which the telecom industry has used with great success to build applications that self-heal and systems that never stop.

Akka actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.

Reference Documentation

The current versions of all Akka libraries are listed on the Akka Dependencies page. Releases of the Akka core libraries in this repository are listed on the GitHub releases page.

The reference documentation for all Akka libraries is available via doc.akka.io/libraries/, details for the Akka core libraries for Scala and Java.

The current versions of all Akka libraries are listed on the Akka Dependencies page. Releases of the Akka core libraries in this repository are listed on the GitHub releases page.

Contributing

Contributions are very welcome!

If you see an issue that you'd like to see fixed, or want to shape out some ideas, the best way to make it happen is to help out by submitting a pull request implementing it. We welcome contributions from all, even you are not yet familiar with this project, We are happy to get you started, and will guide you through the process once you've submitted your PR.

Refer to the CONTRIBUTING.md file for more details about the workflow, and general hints on how to prepare your pull request. You can also ask for clarifications or guidance in GitHub issues directly, or in the akka/dev chat if a more real time communication would be of benefit.

License

Akka is licensed under the Business Source License 1.1, please see the Akka License FAQ.

Tests and documentation are under a separate license, see the LICENSE file in each documentation and test root directory for details.

akka-core (akka/akka-core)

Searching Database…

13.3K ·GitHub
What is this?Akka is a platform for building highly responsive, resilient and scalable distributed services; this repo holds its core libraries. It is used for transactional, analytical, agentic-AI, digital-twin, IoT and edge-to-cloud systems.
Is this repo the whole Akka platform, or just one part of it?This repo contains the foundational Akka core libraries. The wider platform adds the Akka SDK (rapid development with AI assist and automatic clustering) and Akka Automated Operations, a managed solution built on these same libraries.
How do I add it to my project?Add the Akka core libraries as dependencies in your Scala or Java build; current versions are listed on the Akka Dependencies page, and reference documentation lives at doc.akka.io/libraries/.
Do I have to write Scala, or does Java work too?Both work: the reference documentation covers the Akka core libraries for Scala and Java, and the codebase itself is written in Scala.
Do I need distributed-systems experience to use it?No — Akka is designed to be simple to learn and operate, building production-ready systems without requiring prior knowledge of events, threading, or distributed systems.
Do my services have to run on Akka's own cloud?No — services built with it are automatically clustered and can be deployed on any infrastructure, and the managed Akka Automated Operations option runs safely inside your own VPC.
Is Akka open source?No — it is licensed under the Business Source License 1.1, a source-available license rather than a conventional open-source one; its tests and documentation fall under separate licenses.
What do actors give me over plain threads and locks?Multi-threaded behavior without atomics or locks, transparent remote communication between components, and a clustered high-availability architecture that elastically scales in or out on demand — without writing and maintaining networking code yourself.
What is the 'Let it crash' idea about?For resilience Akka adopts the model the telecom industry has used with great success: instead of piling up defensive error handling, failing components are allowed to crash and be restarted, so applications self-heal and systems never stop.
How proven is Akka at scale?It has been downloaded more than 1 billion times and has powered thousands of systems for over 15 years. It targets millions of concurrent users, terabyte stream processing, low-latency read/write data access, 99.9999% availability, and multi-region HA/DR.
What are similar projects?orleans, kafka, Hystrix, flink, vert.x, resilience4j, Sentinel, xstate
Creator
akka
Size
276.6 MB
Stars
13.3K
Age
17y
Commits · 90 Days