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 是一个用于构建高响应、高可靠、可弹性扩展的分布式服务的平台;这个仓库存放的是它的核心库。它被用于事务型系统、分析型系统、智能体 AI、数字孪生、物联网以及边缘到云端的各类系统。
这个仓库是完整的 Akka 平台,还是只是其中一部分?这个仓库包含的是 Akka 的基础核心库。更大的平台还包括 Akka SDK(借助 AI 辅助的快速开发和自动集群)以及 Akka Automated Operations——一个基于这些同样的核心库构建的托管解决方案。
怎么把它加到我的项目里?在 Scala 或 Java 的构建中把 Akka 核心库添加为依赖即可;当前版本列表见 Akka Dependencies 页面,参考文档在 doc.akka.io/libraries/。
我必须写 Scala 吗,还是用 Java 也行?两者都可以:参考文档同时覆盖面向 Scala 和 Java 的 Akka 核心库,而且代码库本身是用 Scala 写的。
我需要有分布式系统的经验才能用它吗?不需要——Akka 的设计目标是易于学习和运维,让你无需事先掌握事件、线程或分布式系统的知识,也能构建可用于生产环境的系统。
我的服务必须跑在 Akka 自家的云上吗?不用——用它构建的服务会自动组建集群,可以部署在任何基础设施上;托管的 Akka Automated Operations 选项也能安全地运行在你自己的 VPC 里。
Akka 是开源的吗?不是——它采用 Business Source License 1.1 许可证,这是一种源码可得(source-available)许可证,而不是传统意义上的开源许可证;它的测试和文档则适用另外的许可证。
相比直接用线程和锁,Actor 给我带来了什么?无需原子操作或锁的多线程行为、组件之间透明的远程通信,以及可按需弹性伸缩的集群高可用架构——而且你不用自己编写和维护网络通信代码。
'Let it crash'(任其崩溃)是什么理念?在容错方面,Akka 采用了电信行业已经非常成功地使用过的模式:不去层层堆砌防御性的错误处理,而是允许出问题的组件崩溃并重启,从而让应用自我修复、系统永不停止。
Akka 在大规模场景下有多成熟?它已被下载超过 10 亿次,15 年多来支撑了数千个系统。它能支撑数百万并发用户、TB 级流处理、低延迟的数据读写、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