akka应用背景介绍

事务机制由来

大多数互联网公司软件,如twitter或facebook,对事务要求低。而涉及到钱等重要交易都需要事务。也即,非结构化的数据一般都没有事务要求,结构化聚合的数据才有事务要求。


actor模型

actor模型内部的状态由自己的行为维护,外部线程不能直接调用对象的行为,必须通过消息才能激发行为,这样就能保证actor内部的数据只有自己能修改。


akka的应用背景

写并发程序很难,程序员不得不处理线程、锁和竞态条件等。这个过程很容器出错,而且会导致代码难以阅读、测试和维护。所以,很多人不倾向于使用多线程编程。取而代之的是,他们使用单线程进程(译者注:只含有一个线程的进程),依赖外部服务(如数据库、队列等)处理所需的并发或异步操作。虽然这种方法在有些情况下是可行的,但还有很多其他情况不能奏效。很多实时系统——例如交易或银行业务应用,或实时游戏——等待一个单线程进程完成就太奢侈了(他们需要立即应答!)。其他的一些对于计算或资源要求非常高的系统,如果在程序中不引入并行机制就会耗时很久(有些情况下可以达到几个小时或数天)。常用的一种单线程方法(例如,在    Node.js里广泛应用)是使用基于事件的、非阻塞模式(Event-Based, NON-Blocking Paradigm,其中Paradigm也有译作成例)。虽然这种方法可以避免上下文切换、锁和阻塞,的确能提高性能,但还是不能解决并发使用多个处理器(需要启动和协调多个独立的处理器)的问题。那么,这是不是意味着为了构建一个并发程序,除了深入到线程、锁和竞态条件之外没有别的选择呢?Akka框架,它为我们提供了一种选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值