为什么使用Akka?
Akka平台提供什么具有竞争力的特色?
Akka提供可扩展的、实时的、事务处理。
Akka是一个统一的运行时编程模型:
- 并发
- 分布式
- 容错
只需要学习并管理一件事,具有很高的衔接和连贯的语义。
Akka是一个非常具有可扩展性的软件,不仅在性能上,而且在使用Akka的软件数量上。Akka的核心,akka-actor,非常小,你可以轻易地将它放到已存在的软件系统中,如果你需要异步的、无锁的并发,且不想有很多麻烦。
你可以在项目中只包含你想要的akka的一部分。同时akka有整个的package,微核,你可以将你的应用部署到这个独立的容器中。随着cpu在各个周期中核数越来越多,甚至如果你在同一台机器中运行akka,你也可以得到出色的性能。Akka也提供各种各样的并发方式,你可以为你的工作选择合适的一个。
在何种情况下使用Akka?
我们看到Akka在工业界很多大的组织里被广泛使用。
- 投资商业银行
- 零售业
- 社会媒体
- 模拟
- 游戏赌博
- 汽车和交通系统
- 卫生保健
- 数据分析
Actors令你可以管理服务失效,负载(回退策略、超时、处理分离),以及系统水平和垂直扩展(增加更多的cpu核或者/并且增加更多的机器数)。
下面是Akka的一些用户关于他们如何使用Akka的例子。
http://stackoverflow.com/questions/4493001/good-use-case-for-akka。
所有的这些项目都是基于apache v2 license的开源项目。