Akka Actor 4个核心操作

来自:http://markusjura.github.io/akka-intro-slides/ 的笔记

  1. create:创建新的Actor。
    每个 Actor 表示为一个 ActorRef;
    没法访问 Actor 实例;
    一个Actor引用允许你发送消息到一个 Actor。

  2. send:发送消息到其他 Actor。
    需要一个 Actor 引用;
    异步和非阻塞(fire-and-forget);
    注意:消息必须是不可变的。
    最佳实践:
    使用 object 和/或 case 类;
    在 actor的伴生对象里定义消息协议。

  3. Become:为处理下一个消息改变行为。
    动态定义Actor的行为;
    通过接收消息触发;
    将对它接收到的消息作出不同的反应。

    用途:
    实现有限状态机;
    让高度竞争的Actor自适应地转换他自己为 Actor 池或路由Router;
    实现优雅的降级;
    派生出通用的工作者Actor,成为管理者当前需要的。

  4. Supervise:管理其他 Actor 的失败。
    监管策略:

      每个Actor有一个默认的监管策略:
           ActorInitializationException → Stop
           ActorKilledException → Stop
           Exception → Restart
           Throwable → Escalate
           Otherwise → Escalate
    
      策略可以被覆写;
    

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据