【发布时间】:2012-11-13 12:18:26
【问题描述】:
基于演员的范式非常酷。它的有效扩展能力使其成为必须评估任何并发系统的范例。我已经阅读了一些关于它的内容,并且对核心意图有一个不错的想法:使用消息和多个“参与者”驱动昂贵的操作,以最大限度地减少由于请求/响应交互引起的等待,从而提高系统的吞吐量。但是,我还没有充分了解人们与演员一起使用的设计模式。我正在寻找基于角色的系统的设计模式。
演员设计模式的一个常见示例是一个系统,其中有一个主协调演员和一群子工作演员。他们掌握将昂贵的操作映射到较小的块,将较小的块作为消息发送给一群工人,等待他们的响应,然后将它们全部归结为结果。在这种模式的一些复杂示例中,工作角色通知主节点他们已准备好进行更多工作,并且主节点根据需要向他们路由更多工作。这可确保工作的适当平衡,并且在工作规模变化很大时很有用。
我搜索了有关更多基于角色的模式的文献,但除了上述示例之外,还找不到任何示例。我还没有浏览 Akka Actors 项目示例,但任何指针都会非常有用。
【问题讨论】:
-
这是一篇很棒的文章,讨论了如何使用解耦的主/从模式在远程参与者之间分配工作:letitcrash.com/post/29044669086/…
标签: design-patterns akka messaging actor event-driven-design