Akka是一组开源库,用于设计可伸缩的、跨处理器核心和网络的弹性系统。Akka允许您专注于满足业务需求,而不是编写低层代码来提供可靠的行为、容错和高性能。
许多常见的实践和公认的编程模型并没有解决现代计算机体系结构设计系统所固有的重要挑战。为了取得成功,分布式系统必须在组件崩溃而没有响应、消息丢失而没有任何追踪线索、网络延迟波动的环境中进行处理。这些问题经常发生在精心管理的数据中心内部环境中——在虚拟化架构中更是如此。
为了帮助您处理这些实际问题,Akka提供了:
- 没有使用诸如原子或锁之类的低级别并发结构的多线程行为——甚至不用考虑内存可见性问题。
- 系统及其组件之间的透明远程通信——免除了编写和维护困难的网络代码。
- 集群的、高可用性的体系结构是弹性的、可伸缩的、随需应变的——使您能够交付真正的反应性系统。
Akka对actor模型的使用提供了一种抽象级别,使编写正确的并发、并行和分布式系统变得更加容易。actor模型跨越了完整的Akka库集,为您提供了一致的理解和使用它们的方法。因此,Akka提供了一种深度集成,这是您无法通过选择库来解决单个问题并试图将它们组合在一起来实现的。
通过学习Akka和如何使用actor模型,您将获得大量深入的工具集,这些工具可以在统一的编程模型中解决分布式/并行系统的难题,其中所有内容都紧密且高效地结合在一起。
如何开始
如果这是您第一次使用Akka,我们建议您从运行一个简单的Hello World项目开始。有关下载和运行Hello World示例的说明,请参阅quickstart指南。quickstart指南将带领您通过示例代码了解如何定义角色系统、角色和消息,以及如何使用测试模块和日志记录。在30分钟内,您应该能够运行Hello World示例并了解它是如何构造的。
这个入门指南提供了下一个层次的信息。它涵盖了为什么actor模型适合现代分布式系统的需求,并包含了一个教程,将帮助您进一步了解Akka。主题包括:
- 为什么现代系统需要一个新的编程模型
- actor模型如何满足并发、分布式系统的需求
- Akka库和模块概述
- 一个构建在Hello World示例之上的更复杂的示例演示了常见的Akka模式。