为什么使用Akka?
Akka平台提供哪些有竞争力的特性?
Akka提供可扩展的实时事务处理。
Akka为以下目标提供了一致的运行时与编程模型:
- 垂直扩展(并发)
- 水平扩展(远程调用)
- 高容错
这个模型是唯一需要学习和掌握的,它具有高内聚和高一致的语义。
Akka是一种高度可扩展的软件,这不仅仅表现在性能方面,也表现在它所适用的应用的大小。Akka的核心——akka-actor是非常小的,可以方便地加入你的应用中,提供你所需要的异步无锁并行功能,不会有任何困扰。
你可以任意选择Akka的某些组件部分集成到你的应用中,也可以使用完整的包——Akka 微内核,它是一个独立的容器,可以直接部署你的Akka应用。随着CPU核数越来越多,即使你只使用一台主机,Akka也可作为一种性能卓越的选择。Akka还同时提供多种并发范型,允许用户选择正确的工具来完成工作。
什么场景下特别适合使用Akka?
我们看到Akka被成功运用在众多行业的众多企业中:
- 投资业到商业银行
- 零售业
- 社会媒体
- 仿真
- 游戏和博彩
- 汽车和交通系统
- 卫生保健
- 数据分析
等等等等。任何需要高吞吐率和低延迟的系统都是使用Akka的候选。
Actor使你能够进行服务失败管理(监控),负载管理(缓和策略、超时和处理隔离),以及水平和垂直方向上的可扩展性(增加cpu核数和/或增加更多的机器)管理。
下面的链接中有一些Akka用户关于他们如何使用Akka的描述: http://stackoverflow.com/questions/4493001/good-use-case-for-akka
所有以上这些都在这个使用Apache2许可的开源软件中。