Akka: actor应用的一些小结】的更多相关文章

1.消息: 1) case class是scala中一个不可变对象(当然你可以让他成为可变的),通过不可变对象来进行消息传递可以更加明确内容,也能保证线程安全 2) 在Java中如果你将class对象当成消息时候是无法保证这个对象在消息传递过程中不会被改变的,在Java中对象的状态都是可以随时改变的,除非你特别指定 2.通信: 1)单个actor中的消息需要发送给多个actor最好使用不可变对象保证线程安全,即使是可变对象也应该传递一个拷贝而不是对象本身 2)actor有自己的信箱,内部本身是单…
Actor 类定义 Actor 类需要继承AbstractActor类 实现createReceive方法,绑定各类actor收到不同类型消息对应处理不同业务逻辑 默认提供了ReceiveBuilder类辅助创建 Receive 对actorOf的调用返回ActorRef的实例.这是 Actor 实例的句柄,也是与之交互的唯一方法. ActorRef是不可变的,并且与它所表示的 Actor 有一对一的关系.ActorRef也是可序列化的, 序列化通过网络发送它,并在远程主机上使用它,并且它仍然在…
import java.util.concurrent.{ExecutorService, Executors, TimeUnit} import akka.actor.{Actor, ActorSystem, Props} import akka.util.Timeout import scala.concurrent.{Await, ExecutionContext} import scala.concurrent.duration.Duration Runnable 无返回值 class…
注:本文章是看blog后的一个阶段小结,只作为个人笔记, 原文链接:http://www.iteblog.com/archives/1154 官网地址贴上:http://doc.akka.io/docs/akka/snapshot/scala/actors.html 什么是akka akka的actor模式提供了一个写并发和分布式系统的高层次抽象,将程序员从锁和线程管理等问题中解放出来,是一个在JVM上构建高并发.分布式和可快速恢复的消息驱动应用的工具集和运行时,actors 模式是在Carl…
注:本文章是看blog后的一个阶段小结,只作为个人笔记, 原文链接:http://www.iteblog.com/archives/1154 官网地址贴上:http://doc.akka.io/docs/akka/snapshot/scala/actors.html 在上篇文章中,我们写明了向actor发送消息的原理,而actor接收到消息后,能够作出response,这个回应可以是发送给发送消息的actor,也可以是别的actor,这里将讨论前者,场景描述如下:  上图传达了我们此刻想表达的意…
Akka基础 Akka笔记之Actor简介  Akka中的Actor遵循Actor模型.你可以把Actor当作是人.这些人不会亲自去和别人交谈.他们只通过邮件来交流.  1. 消息传递 2. 并发 3. 异常处理 4. 多任务 5. 消息链 Akka笔记之消息传递 消息发送给actor代理: 消息是不可变对象(可带有属性的case class): 分发器dispatcher和邮箱: dispatcher从actorRef取出一条消息放在目标actor邮箱中,然后放mailbox放在一个Threa…
Carl Hewitt 在1973年对Actor模型进行了如下定义:"Actor模型是一个把'Actor'作为并发计算的通用原语". Actor是异步驱动,可以并行和分布式部署及运行的最小颗粒.也就是说,它可以被分配,分布,调度到不同的CPU,不同的节点,乃至不同的时间片上运行,而不影响最终的结果.因此Actor在空间(分布式)和时间(异步驱动)上解耦的.而Akka是Lightbend(前身是Typesafe)公司在JVM上的Actor模型的实现.我们在了解actor模型之前,首先来了…
学习使用AKKA 断断续续有一年了. 眼下还是习惯用java来写akka以下的程序.对于原生的scala还是没有时间和兴趣去学习它. 毕竟学习一门语言须要兴趣和时间的. AKKA学习资源还是不算丰富. 看过最多的就是官方的编程手冊,还有就是AKKA Essentials 这两本.  自己动手写的程序还不算多,也放在github上面. 另外,在akka编译配置.升级版本号上,以及部署多台server组建akka cluster 方面花费了不少时间. 由于项目须要,上周又一次在办公室用两台mac台式…
失败更像是分布式系统的一个特性.因此Akka用一个容忍失败的模型,在你的业务逻辑与失败处理逻辑(supervision逻辑)中间你能有一个清晰的边界.只需要一点点工作,这很赞.这就是我们要讨论的主题. ACTOR SUPERVISION 想象一个方法调用了你栈顶的方法但却出了一个异常.那么在栈下的方法能做什么呢? 抓住异常并按顺序处理恢复 抓住异常,也许记个日志并保持安静. 下层的方法也可以选择无视这个异常(或者抓住并重扔出来) 想象下一直扔到main方法仍然没有处理这个异常.这种情况下,程序肯…
原文地址:http://rerun.me/2014/10/21/akka-notes-actor-lifecycle-basic/ (请注意这了讨论的生命周期并不包括 preRestart 或者postRestart方法,当我们讨论supervision时候我们会说这个) 基本的Actor生命周期很直观.除了一点小不同,你可以直接拿基本Actor生命周期与Java Servlet生命周期作比较. 像其他常规类一样,我们有一个构造函数. preStart方法会被调用. 这里你可以在postStop…