Akka相关概念理解


Akka相关概念理解

Actor适用

Actors可以替代:

  • 一个线程
  • 一个对象或者组件
  • 一个callback或者listener
  • 一个单例或者服务
  • 一个路由转发者,负载均衡器,池
  • 一个Java EE的session bean或者事件驱动bean

创建很多的Actors:
Actors不像线程一样重,可以把它们当做轻量级的对象来看

  • 为每个请求创建一个actor?没问题
  • 为处理一个message,创建一个内部actor去处理?可以
  • Actor树应该很深,而不是很浅

不要用阻塞,否则会ties up该线程,并占有大量系统资源。
如果一定要用,在一个独立的线程池中适用阻塞api,将其隔离在actor或者future中。(ppt 49页)

ActorSystem包括

  • 配置
  • dispatcher(thread pool)
  • actors树形继承结构

Dispatcher

默认的,事件驱动的,将一组actor绑到一个线程池中,共享线程的

Mailbox

默认为akka.actor.default-mailbox(无限邮箱,java.util.concurrent.ConcurrentLinkedQueue)默认是先进先出的队列,可以自行实现优先级队列,但akka中当前behavior必须总是处理下一个出队的消息,而且没有扫描mailbox的动作,处理消息失败时,即认为failure发生了,当然这个行为可以被重写

Actor

可以理解为calble,跑在线程池上

ActorRef

这是一个 Actor 实例的句柄(handle),你可以用它来与实际的 Actor进行交互。 The ActorRef 是不可变量,与它所代表的Actor之间是一对一的关系

EventStream

携带日志消息,死信.actor可以从EventStream订阅日志或者死信

Reference

http://www.gtan.com/akka_doc/scala/dispatchers.html
http://www.slideshare.net/developerforce/df121253-patterson?next_slideshow=1


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值