https://doc.yonyoucloud.com/doc/akka-doc-cn/2.3.6/scala/book/index.html
Akka是什么?
通过使用Actor模型我们提升了抽象级别,为构建可扩展的、有弹性的响应式并发应用提供了一个更好的平台
Akka实现了独特的混合模型
Actors
Actors为你提供:
- 对并发/并行程序的简单的、高级别的抽象。
- 异步、非阻塞、高性能的事件驱动编程模型。
- 非常轻量的事件驱动处理(1G内存可容纳数百万个actors)。
参阅 Actors (Scala) 和 Actors (Java)
容错性
- 使用“let-it-crash”语义的监控层次体系。
- 监控层次体系可以跨越多个JVM,从而提供真正的容错系统。
- 非常适合编写永不停机、自愈合的高容错系统。
参阅 容错性 (Scala) 和 容错性 (Java)
位置透明性
Akka的所有元素都为分布式环境而设计:所有actor只通过发送消息进行交互,所有操作都是异步的。
持久性
actor接收到的消息可以选择性的被持久化,并在actor启动或重启的时候重放。这使得actor能够恢复其状态,即使是在JVM崩溃或正在迁移到另外节点的情况下。
Akka的两种使用方式
以库的形式:在web应用中使用,放到 WEB-INF/lib 中或者作为一个普通的Jar包放进classpath。
以微内核的形式:可以将你的应用放进一个独立的内核,自己使用一个main类来初始化Actor系统。
为什么使用Akka?
Akka平台提供了以下特性:
Akka提供可扩展的实时事务处理。
Akka为以下目标提供了一致的运行时与编程模型:
- 垂直扩展(并发)
- 水平扩展(远程调用)
- 高容错
这个模型是唯一需要学习和掌握的,它具有高内聚和高一致的语义。
Akka是一种高度可扩展的软件,这不仅仅表现在性能方面,也表现在它所适用的应用的大小。Akka的核心——akka-actor是非常小的,可以方便地加入你的应用中,提供你所需要的异步无锁并行功能,不会有任何困扰。
你可以任意选择Akka的某些组件部分集成到你的应用中,也可以使用完整的包——Akka 微内核,它是一个独立的容器,可以直接部署你的Akka应用。随着CPU核数越来越多,即使你只使用一台主机,Akka也可作为一种性能卓越的选择。Akka还同时提供多种并发范型,允许用户选择正确的工具来完成工作。
以下是Akka被部署到生产环境中的领域
事务处理 (在线游戏,金融/银行业,贸易,统计,赌博,社会媒体,电信)
垂直扩展,水平扩展,容错/高可用性
服务后端 (任何行业,任何应用)
提供REST, SOAP, Cometd, WebSockets 等服务;作为消息总线/集成层;垂直扩展,水平扩展,容错/高可用性
并发/并行 (任何应用)
运行正确,方便使用,只需要将jar包添加到现有的JVM项目中(可使用Scala,Java, Groovy或JRuby)
仿真
主/从,计算网格,MapReduce等等
批处理 (任何行业)
Camel集成来连接批处理数据源,Actor分治批处理工作负载
通信Hub (电信, Web媒体, 手机媒体)
垂直扩展,水平扩展,容错/高可用性
游戏与博彩 (MOM, 在线游戏, 博彩)
垂直扩展,水平扩展,容错/高可用性
商业智能/数据挖掘/通用密集计算
垂直扩展,水平扩展,容错/高可用性
复杂事件流处理
垂直扩展,水平扩展,容错/高可用性
akka概述请继续前往 ... 查看更多