来自:http://markusjura.github.io/akka-intro-slides/ 的笔记
-
create:创建新的Actor。
每个 Actor 表示为一个 ActorRef;
没法访问 Actor 实例;
一个Actor引用允许你发送消息到一个 Actor。 -
send:发送消息到其他 Actor。
需要一个 Actor 引用;
异步和非阻塞(fire-and-forget);
注意:消息必须是不可变的。
最佳实践:
使用 object 和/或 case 类;
在 actor的伴生对象里定义消息协议。 -
Become:为处理下一个消息改变行为。
动态定义Actor的行为;
通过接收消息触发;
将对它接收到的消息作出不同的反应。用途:
实现有限状态机;
让高度竞争的Actor自适应地转换他自己为 Actor 池或路由Router;
实现优雅的降级;
派生出通用的工作者Actor,成为管理者当前需要的。 -
Supervise:管理其他 Actor 的失败。
监管策略:每个Actor有一个默认的监管策略: ActorInitializationException → Stop ActorKilledException → Stop Exception → Restart Throwable → Escalate Otherwise → Escalate 策略可以被覆写;
欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。