收录了 actor 频道下的 49 篇内容
本文以eBay增强商业智能平台Nous, 以及业务指标异常检测平台等多个数据产品所使用的快速数据访问服务DataExpress为例,介绍Actor Model及其在企业级数据服务中的应用。
在几年前,组合使用Akka和Java 8来创建基于微服务的分布式系统还是一个美梦。基于Actor的系统能够让开发人员创建快速演化的微服务架构,这种架构能够弹性扩展以应对大量的数据。
随着移动和数据驱动应用的爆发性增长,用户现在需要在任意地点实时访问所有的功能。系统的弹性和响应性变成了业务的基本需求。业务方面需要更加灵活的“反应式”系统。为了支持反应式开发,结合Actor模型和领域驱动设计能够满足现代系统弹性的需要。
响应式云Actor是对Carl Hewitt所定义的Actor模型的一种应用,这种模型能够充分利用现代分布式系统的强大能力。本文介绍了一种响应式云Actor的实现,目的是处理一种复杂的业务场景,它的解决方案非常优雅,并且体现出了深度的思考性。
在Vaughn Vernon的新作《通过Actor模型实现响应式消息处理模式》中,他为读者展示了如何使用这种模型以简化企业软件的开发。本书首先为读者介绍了Actor模型的基础,以及Scala和Akka的学习指南。随后,本书列举了一份包含多种模式的目录,从Actor模型的角度描述了在Gregor Hohpe与Bobby Woolf共同撰写的著作《企业集成模式》中所描述的大多数模式。
Actor模型是解决并行编程的重要工具,如今开发者在Groovy中也可以享受来自Actor模型给多线程编程带来的便利了。
许多开发者在创建和维护多线程应用程序时经历过各种各样的问题,他们希望能在一个更高层次的抽象上进行工作。为了帮助这些开发者,Arun Manivannan编写了一系列的博客帖子,在目前总共六篇帖子中,他通过大量的图片及一些简单的Akka示例,解释了Actor模型的原理。作者- Jan Stenberg
摘要:为了更好地把握新型多核机器带给我们的超大并发能力的机会,我们应该使用一种能帮助我们达成该目的的编程模型,而Actor模型带给了我们大量的工具来实现这一点,Vaughn Vernon在今年伦敦的DDD Exchange Day大会上对此进行了阐述。
由Microsoft的附属公司MS Open Tech开发的ActorFx 打算提供一个“非规范性的、独立于语言的动态分布式对象模型”。
Vaughn Vernon于上周发布了Dotsero,这是一个基于.NET的Actor模型工具包,它参照了Akka的API。今年早些时候,微软Research部门也发布了一个基于Actor模型的框架,Orleans的预览版。最近,Vaughn与Orleans项目的带头人,来自微软Research部门的Sergey Bykov,在twitter上对Orleans与Dotsero这两种不同的实现方式进行了一番讨论。
在开始设计光环(Halo)系列视频游戏的下一代——光环4的时候,开发者基于Actor模型设计了一套全新的解决方案,并使用Orleans框架完成了这套模型的实现。在QCon伦敦大会上,Caitie McCaffrey在演讲中为听众介绍了他们设计与创建这个新游戏背后的服务的过程。
对于某些设计问题,Actor可以让一切变得不同。Actor是一种可以响应和发送消息的独立实体。某种程度上,它就像是在另一个进程中运行属于它自己的小程序。但对于没有原生支持Actor的语言来说,构建Actor可能会非常困难。Johan Olsson找到了一种方法,使用TPL DataFlow简化了这一过程。
面对如何利用当前、尤其是未来的多CPU执行大量的并行性计算,并发的消息传递和actor模型将成为一种很有希望的解决之道。这些机制在Erlang中是完全内置的,Scala的框架中则包含了Scala Actor库。在Java的世界中,同样也存在一个纯Java的实现——Kilim。
Odersky介绍了一种新的方法,可以保证Scala Actor模型实现能够进行安全的消息传输。他们将这种方法形式化为EPFL Scala编译器的一个扩展,“对象能力类型”系统。它基于能力检查和外部唯一性,能够兼顾竞争安全性和性能,并且除去了现有方法所必需的一些针对消息的关键约束。
领域驱动设计(DDD)通常在微服务领域用于查找边界(限界上下文)。但是,并不是领域驱动设计中的所有内容都适合微服务,Lutz Huehnken在柏林举办的microxchg 2018上的演讲中讨论了如何使用DDD、事件风暴和基于Akka的Lagom框架来构建反应式系统。
详解OneFlow的设计思路及特色,从技术角度阐释OneFlow在深度学习框架竞争中胜出的可能性
Ray是一个用于并行计算和分布式Python开发的开源项目。本文将介绍如何使用Ray轻松构建可从笔记本电脑扩展到大型集群的应用程序。
自动化验收测试能够减少手动测试和bug修复所耗费的时间,将其与行为驱动开发方式相结合的话,还能指导开发工作的开展。但它是需要技巧、练习和纪律的。Screenplay模式能够帮助团队解决这些困难,并且可以借此使用SOLID设计原则彻底地重构页面对象。
随着计算机硬件的发展,并发编程成为越来越迫切的需要,本篇文章介绍了一种 C++ 并发编程的思维,即使用 Actor 模型进行并发编程,用以避免多线程程序带来的诸如共享内存、线程同步等问题。
作者在日常工作中需要经常与 Elixir 这门编程语言打交道