我正在努力寻找设计模式,最佳实践或应该用于构建基于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