设计模式/建立演员的最佳做法

我正在努力寻找设计模式,最佳实践或应该用于构建基于Actor的应用程序的良好基本架构原则的任何体面链接。 那些我知道的是:

博客文章,文章,WIKI,指南

  • OTP设计原理用户指南
  • 企业集成的模式和最佳实践(通常,可以应用于任何消息驱动的体系结构)
  • 詹姆斯·伊里(James Iry)在与演员合作处理设计状态时的系列帖子
  • 由Ittay Dror设计Scala演员的职位系列
  • 关于维基百科的并发模式文章
  • 可扩展的系统设计模式(与演员不直接相关,但相当有用)
  • 了解演员并发性,pt.1,p.2由Alex Miller
  • 文件

  • 关于由Joe Armstrong制作可靠的分布式系统的解释
  • Scalabale组件抽象由Philipp Haller和Martin Odersky提供
  • Martin Odersky和Matthias Zenger的基于事件的编程没有反转控制
  • 由Martin Sulzmann撰写的带有多头消息接收模式的演员
  • 图书

  • Philipp Haller和Frank Sommers在Scala的演员
  • 通过Joe Armstrong编程Erlang
  • Erlang和OTP在马丁洛根,埃里克梅里特和理查德Carlsson行动
  • 实现

  • Akka框架(Scala中的演员的替代实现,带有一些Erlang行为的端口和许多其他演员的可变模式)
  • 斯卡拉兹演员(演员组合,策略和承诺)
  • 演讲

  • 演员由戴尔舒马赫思考
  • 由Ulf Wiger提供1000年的设计模式
  • Jamie Ridgway的基于演员的编程
  • Vasil Remeniuk的ШколаАктерскогоМастерства
  • 来自highscalability.com的示例

  • 简单排队服务(SQS) - 此服务提供用于存储消息的Internet规模排队服务。 分布式演员将工作放在队列中,并从队列中取出工作。 典型用途:集中工作队列。 您将作业放在队列中,不同的角色可以弹出队列的工作并在获得CPU时间时处理它们。 部分可扩展性。 有任何数量的生产者和消费者。 你不用担心。 队列分布在多台机器和多个数据中心。

  • 这与前面的问题有关,如果不完全一样的话!

    这不是一个简单的问题,因为并发的actor模型允许构建许多不同类型的应用程序,从有状态的单个VM应用程序(具有几个独立的actor类)到包含数千个actor类的无状态集群。

    然而,核心原则是一样的:

  • 切勿暴露演员的状态
  • 仅通过传递不可变消息进行通信

  • 我在几周前发布了一篇关于在斯卡拉学习演员开发的博客。 这是一个最佳实践的岗位,也是基于几年的范式经验来避免的。


    “反应式设计模式”一书正在曼宁制作。

    请参阅:https://www.manning.com/books/reactive-design-patterns

    链接地址: http://www.djcxy.com/p/21503.html

    上一篇: Design patterns/best practice for building Actor

    下一篇: scala mailbox size limit