英文原文: Microsoft open sources cloud framework that powers Halo
Orleans 框架的预览版已经在 2014 年 4 月公布,该项目是建立在 .NET 之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服务。考虑到微软的多人视频游戏这个项目还是非常具有意义的,因为在这种游戏之上的玩家需要知道他的朋友的在线状态,以及需要以秒为单位获取往返无数服务器之间的游戏数据。
Orleans 项目基本上被认为是并行计算模型 Actor Model 的分布式版本。
虽然已经存在 Erlang 和 Akka 这样利用 Actor Model 的框架,用户仍然需要做很多工作来确保那些 actors 保持在线以及能够处理故障和恢复。Orleans 框架着眼复杂项目和 actor 管理,让用户能够编写分布式项目而无需担心。
以下摘自微软博客:
首先,事实上一个 Orleans actor 总是存在,它不能被显式地创建或销毁。它的存在超越它的任何内存实例的生命周期,也因此超越了任何特定服务器的生命周期;其次,Orleans actors 自动实例化:如果没有一个 actor 内存的实例,一个消息发送到 actor 导致在一个可用的服务器上创建一个新的实例。一个未使用的 actor 实例将作为资源管理的一部分自动被回收。
微软宣称 Orleans 的开源进程应该会在 2015 年初完成,微软研究院将在 MIT 许可下发布代码,并放在 GitHub 上。