akka笔记

简介: Actor UntypedActor actor的基类,继承并实现onReceive方法就可以得到一个Actor。 Props 配置类,用Props.create可以创建一个按指定配置生成的Actor。

Actor

  • UntypedActor actor的基类,继承并实现onReceive方法就可以得到一个Actor。
  • Props 配置类,用Props.create可以创建一个按指定配置生成的Actor。
  • Props的推荐实践,创建Actor时,搞一个static的Props.create方法。可以少写不少重复代码。
  • system.actorOf 会创建顶级的actor,将被系统监控。
  • getContext().acrtorOf 会创建子actor。
  • ActorRef 由actorOf产生,可以是一个网络actor。
  • ActorRef.forward 与tell、ask的区别,性能最好的是tell,发完就走。ask是发完等Future,要等的话性能是个问题。forward用于从一个actor转 发消息给另一个actor,原始的sender信息会被保留,在>做路由、负载均衡、备份时非常有用。ask会拦住reply消息直接给 onsuccess等,sender不会再得到reply。
  • Inbox 当actor不能满足需要时,可以使用inbox,比如收多个回复,watch其他actor的生命周期。

spring集成

  • 实现SpringExtProvider在spring context中去寻找actor class,实现akka.actor.Extension和akka.actor.IndirectActorProducer。
  • system.actorOf(SpringExtProvider.get(system).props(“CountingActor”), “counter”);即可取到bean为CountingActor的class。

else

  • PoisonPill 这毒药,给哪个actor一发就挂。myActor.tell(akka.actor.PoisonPill.getInstance(), sender);
  • TypedActor 是比较好的连接actor系统与非actor内容的东东。
  • mailbox 每个actor的消息存放处,默认为 java.util.concurrent.ConcurrentLinkedQueue,akka.dispatch.SingleConsumerOnlyUnboundedMailbox 为更高效的一个box,但不能用在BalancingDispatcher时。还可以自已定义mailbox的细节。
  • UntypedProcessor 继承它可得到一个processor。用来做persistence用的。
  • SupervisorStrategy 定义出错处理。
  • routing 定义路由选择机制。cluster中使用。
目录
相关文章
177 Akka详细学习资料
177 Akka详细学习资料
51 0
|
并行计算 Scala
175 Scala 项目案例(Akka简介)
175 Scala 项目案例(Akka简介)
115 0
|
负载均衡 Java 程序员
AKKA 的基本介绍 | 学习笔记
快速学习 AKKA 的基本介绍
AKKA 的基本介绍 | 学习笔记
|
运维 网络协议 安全
Akka 网络编程基础 | 学习笔记
快速学习 Akka 网络编程基础
Akka 网络编程基础 | 学习笔记
|
监控 数据库 数据中心
Akka 介绍
欢迎使用 Akka,Akka 是一套被用来在在多处理器核心和网络之间被设计可扩展和具有相关弹性的开源工具集。Akka 允许你更加关注商业需求而不是书写低级别的代码来提供可靠性,容错率和高性能。 很多常用的设计实践和已经接受的程序模型不能解决一些重要的挑战,这些挑战通常是现代计算机体系结构中固有的。
1277 0
|
设计模式
如何开始使用 Akka
如果你是第一次开始使用 Akka,我们推荐你先运行简单的 Hello World 项目。情况参考  Quickstart Guide 页面中的内容来下载和运行 Hello World 示例程序。上面链接中的 快速使用指南 来帮助你了解如何定义 actor 系统,actors 和消息,以及如何使用测试模块和日志系统。
848 0
|
Java API Scala
Akka源码分析-ActorSystem
  由于本人对Akka比较感兴趣,也用Akka开发了一些系统,但对Akka的源码还没有具体分析过,希望研究源码的同时写一点博客跟大家分享。有不当之处还请指正。我准备采取Debug的方式来研究Akka的运行过程,从入口开始,直至分析Akka是如何运转的。
2318 0
|
Java 存储 测试技术