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
Что это такое?Akka — это платформа для создания очень отзывчивых, отказоустойчивых и масштабируемых распределённых сервисов; в этом репозитории находятся её основные библиотеки. Она используется для транзакционных, аналитических и агентных ИИ-систем, цифровых двойников, IoT и систем типа «от периферии до облака».
Это весь репозиторий платформы Akka или только её часть?В этом репозитории лежат базовые библиотеки Akka core. Более широкая платформа добавляет Akka SDK (быстрая разработка с помощью ИИ-ассистента и автоматическое кластеризование) и Akka Automated Operations — управляемое решение, построенное на этих же библиотеках.
Как добавить его в свой проект?Добавьте основные библиотеки Akka как зависимости в сборку вашего проекта на Scala или Java; актуальные версии перечислены на странице Akka Dependencies, а справочная документация находится на doc.akka.io/libraries/.
Мне обязательно писать на Scala, или подойдёт и Java?Подойдёт и то и другое: справочная документация описывает библиотеки Akka core для Scala и Java, а сам код написан на Scala.
Мне нужен опыт работы с распределёнными системами, чтобы пользоваться Akka?Нет — Akka задумана простой в освоении и эксплуатации: она позволяет создавать системы, готовые к продакшену, без предварительных знаний о событиях, потоках или распределённых системах.
Мои сервисы обязаны работать в облаке Akka?Нет — сервисы, построенные на ней, автоматически объединяются в кластер и могут разворачиваться на любой инфраструктуре, а управляемый вариант Akka Automated Operations безопасно работает внутри вашего собственного VPC.
Akka — это open source?Нет — она распространяется по лицензии Business Source License 1.1: это лицензия с открытым исходным кодом (source-available), а не классический open source; её тесты и документация находятся под отдельными лицензиями.
Что дают акторы по сравнению с обычными потоками и блокировками?Многопоточность без атомарных операций и блокировок, прозрачное сетевое взаимодействие между компонентами и кластерную архитектуру высокой доступности, которая эластично масштабируется вверх и вниз по требованию — без того, чтобы самому писать и поддерживать сетевой код.
В чём суть принципа «Let it crash» («пусть падает»)?Для отказоустойчивости Akka берёт модель, которую телеком-индустрия с большим успехом использует уже давно: вместо нагромождения защитной обработки ошибок сбойные компоненты просто падают и перезапускаются, благодаря чему приложения самолечатся, а системы не останавливаются.
Насколько Akka проверена в масштабе?Её скачали более 1 миллиарда раз, и она уже более 15 лет работает в тысячах систем. Она рассчитана на миллионы одновременных пользователей, обработку потоков данных в терабайтах, доступ к данным на чтение и запись с низкой задержкой, доступность 99,9999% и многорегиональные 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