美文网首页
为啥使用Akka

为啥使用Akka

作者: jiangmo | 来源:发表于2018-04-27 10:57 被阅读116次

    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, 在线游戏, 博彩)
      垂直扩展,水平扩展,容错/高可用性

    • 商业智能/数据挖掘/通用密集计算
      垂直扩展,水平扩展,容错/高可用性

    • 复杂事件流处理
      垂直扩展,水平扩展,容错/高可用性

    相关文章

      网友评论

          本文标题:为啥使用Akka

          本文链接:https://www.haomeiwen.com/subject/drlblftx.html