Akka平台提供哪些有竞争力的特性?
Akka为以下目标提供了一致的运行时与编程模型:
- 垂直扩展(并发)
- 水平扩展(远程调用)
- 高容错
这个模型是唯一需要学习和掌握的,它具有高内聚和高一致的语义。
Akka是一种高度可扩展的软件,这不仅仅表现在性能方面,也表现在它所适用的应用的大小。Akka的核心——akka-actor是非常小的,可以方便地加入你的应用中,提供你所需要的异步无锁并行功能,不会有任何困扰。
你可以任意选择Akka的某些组件部分集成到你的应用中,也可以使用完整的包——Akka 微内核,它是一个独立的容器,可以直接部署你的Akka应用。随着CPU核数越来越多,即使你只使用一台主机,Akka也可作为一种性能卓越的选择。Akka还同时提供多种并发范型,允许用户选择正确的工具来完成工作。
什么场景下特别适合使用Akka?
我们看到Akka被成功运用在众多行业的众多企业中:
- 投资业到商业银行
- 零售业
- 社会媒体
- 仿真
- 游戏和博彩
- 汽车和交通系统
- 卫生保健
- 数据分析 等等等等。
任何需要高吞吐率和低延迟的系统都是使用Akka的候选。
Actor使你能够进行
- 服务失败管理(监控)
- 负载管理(缓和策略、超时和处理隔离)
- 水平和垂直方向上的可扩展性(增加cpu核数和/或增加更多的机器)管理
以下是Akka被部署到生产环境中的领域
-
事务处理 (在线游戏,金融/银行业,贸易,统计,赌博,社会媒体,电信)
垂直扩展,水平扩展,容错/高可用性 -
服务后端 (任何行业,任何应用)
提供REST, SOAP, Cometd, WebSockets 等服务;作为消息总线/集成层;垂直扩展,水平扩展,容错/高可用性 -
并发/并行 (任何应用)
运行正确,方便使用,只需要将jar包添加到现有的JVM项目中(可使用Scala,Java, Groovy或JRuby) -
仿真
主/从,计算网格,MapReduce等等 -
批处理 (任何行业)
Camel集成来连接批处理数据源,Actor分治批处理工作负载 -
通信Hub (电信, Web媒体, 手机媒体)
垂直扩展,水平扩展,容错/高可用性 -
游戏与博彩 (MOM, 在线游戏, 博彩)
垂直扩展,水平扩展,容错/高可用性 -
商业智能/数据挖掘/通用密集计算
垂直扩展,水平扩展,容错/高可用性 -
复杂事件流处理
垂直扩展,水平扩展,容错/高可用性
网友评论