您的位置 首页 java

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

5.3 路由Actor——创建路由Actor的两种模式

❑ pool方式

路由器Actor会创建子Actor作为其Routee并对其监督和监控,当某个Routee终止时将其移除出去;

❑ group方式:

将Routee的生产方式放在外部(不必自包含),然后路由器Actor通过路径(path)对这些目标进行消息发送。

5.3.1 Pool方式——应 编码 ——定义作为消息中转处理器的Actor

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

5.3.1 Pool方式——应编码——定义TaskActor

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

当给MasterRouterActor发送helloA/helloB/helloC消息后:

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

5.3.1 Pool方式——配置

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

router表示路由类型,nr-of-instances表示Routee池的大小。

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

Routee回复消息的接受者

路由和 forward 一样,在整个消息转发的过程中并不会改变原始sender,所以消息会被回复给最初的sender。当然也可以在回复消息时让父Actor(路由Actor)成为自己的sender,这样可以隐藏自己的相关信息。

5.3.1 Pool方式——父监督

由于父监督原则,路由Actor承担着Routee的监督工作,当没有显式指定监督策略时,路由Actor默认会把失败上溯到上级。当路由Actor重启时,会重新创建Routee(子级Actor),并且在池中维护相同个数(nr-of-instances)的actor;当所有的Routee被终止时,路由Actor也会停止(watch它的生命周期,就可以收到它的Terminated消息)。

5.3.1 Pool方式——自定义监督策略

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

5.3.2 Group方式——配置

先定义Routee-Actor,然后将的path配置给路由Actor,路由Actor会通过path列表来进行路由。

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

配置:

Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

routees.paths:Routee的path。

5.3.2 Group方式——编码

文章来源:智云一二三科技

文章标题:Akka实战:快速构建高可用分布式应用第5章 消息路由笔记二

文章地址:https://www.zhihuclub.com/198657.shtml

关于作者: 智云科技

热门文章

网站地图