Akka
文章平均质量分 75
某先生xxxx
服务端
展开
-
Akka学习笔记(一):创建Hello World工程
Akka学习笔记(一):创建Hello World工程创建工程使用IDEA,创建SBT工程,在build.sbt中添加akka依赖:name := "My Project"version := "1.0"scalaVersion := "2.10.4"resolvers += "Typesafe Repository" at "http://repo.typesaf原创 2014-07-28 16:49:59 · 6554 阅读 · 0 评论 -
Akka学习笔记(四):监督和监控
Akka学习笔记(四):监督和监控Supervision是什么supervision表示actors之间的关系。监督者分配任务给下属,因此需要处理反馈的错误。根据不同的错误,监督者supervisor可以做如下操作:恢复下属,让下属继续运行,继续接收message。当且仅当下属还可以正常运行重启下属,清空status。一般是第一条情况中,child的异常导致无法正常运行。关原创 2014-07-28 16:51:51 · 7819 阅读 · 0 评论 -
Akka学习笔记(二):Actor Systems
Akka学习笔记(二):Actor Systems图中表示的是一个Actor System,它显示了在这个Actor System中最重要实体之间的关系。什么是actor,是一个封装了状态和行为的对象,每个actor都通过message交流,从自己的mailbox中读取别的actor发送的消息。注意:ActorSystem是重量级的对象,会创建1...N个线原创 2014-07-28 16:53:07 · 17055 阅读 · 2 评论 -
Akka相关概念理解
Akka相关概念理解Actor适用Actors可以替代:一个线程一个对象或者组件一个callback或者listener一个单例或者服务一个路由转发者,负载均衡器,池一个Java EE的session bean或者事件驱动bean创建很多的Actors:Actors不像线程一样重,可以把它们当做轻量级的对象来看为每个请求创建一个actor?没问题为处理一原创 2014-08-26 11:23:31 · 5308 阅读 · 0 评论 -
Akka学习笔记(七):配置
Akka学习笔记(七):配置使用Akka可以不用任何配置,Akka提供了明智的默认配置。为了适应特别的运行环境,修改默认行为,你可能需要修改:log level and logger backendenable remoting消息系列化路由设置调度器调优Akka使用Typesafe Config Library,纯java实现的配置库。之前博客有介绍过here从哪原创 2014-08-07 16:42:49 · 15381 阅读 · 1 评论 -
Akka TestKit测试包的使用
Akka TestKit测试包的使用TestKit,测试类必须继承几个接口:class SendingActor01Test extends TestKit(ActorSystem("testsystem")) //TestKit创建testsystem用于测试 with WordSpecLike //可以用must,in等语句描述测试方法 with MustMatchers原创 2014-08-07 16:41:50 · 6462 阅读 · 0 评论 -
Akka学习笔记(六):消息传递可靠性
Akka学习笔记(六):消息传递可靠性一般规则关于消息发送,有两条基本规则:最多一次,即不保证消息传递可靠性message ordering per sender–receiver pair消息传递机制最多一次,意味消息有可能丢失最少一次,保证消息传递可靠,但可能冗余保证只成功一次,性能最差,消息成功传递,不冗余为什么不保证传递可靠性问题是,原创 2014-08-07 16:42:13 · 6150 阅读 · 0 评论 -
Akka学习笔记(五):Akka与Java的内存模型
Akka学习笔记(五):Akka与Java的内存模型Akka简化了编写并发软件的过程,本文主要讨论Akka如何在并发应用中访问共享内存。Java内存模型Java5之前的JMM是相当混乱的。多线程访问共享内存很有可能会得奇怪的结果,如:可见性问题,无法及时看到其他线程写入的值指令乱序,观测到其他线程不可能的行为从Java 5的JSR 133的实现,很多问题就解原创 2014-08-07 16:39:29 · 6392 阅读 · 0 评论 -
Akka学习过程的疑问
- actor要如何分解才合适,在一个JVM上随意为每个功能启动多个actor?那远程actor一般作为其中的一个功能还是服务?- actor和线程的关系actor数和线程数不是一一对应的。2.7 million actors占1GB内存. 而1GB内存只能运行4096个线程.奥秘在于Actor直接可以复用线程。Actor和线程是不同的抽象,他们的对应关系是由Dispa原创 2014-08-07 16:41:25 · 2495 阅读 · 0 评论 -
Akka学习笔记(三):什么是Actor
Akka学习笔记(三):什么是Actor上一节讲到actor是actor system最基本的单元。这一节详细的讲讲actor.更详细here。actor是一个拥有state,behavior,mailbox,children,supervisor strategy的容器.Akka保证所有actor都只运行在自己的轻量级线程,并一次处理一个消息,这样程序员就不用处理同步、竞态A原创 2014-07-28 16:53:48 · 4739 阅读 · 0 评论 -
Actor生命周期理解
Actor生命周期理解镇图:Actor内功心法图Actor的生命周期可以用Hooks体现和控制,下面是默认的Actor Hooks的方法,我们可以选择性的进行重写:def preStart(): Unit = ()def postStop(): Unit = ()def preRestart(reason: Throwable, message: Option[Any]原创 2014-08-27 19:22:04 · 10390 阅读 · 1 评论