微软奥尔良Orleans分布式应用框架已是跨平台

栏目: ASP.NET · 发布时间: 6年前

内容简介:Microsoft Orleans(奥尔良)是.NET的开源编程框架,最初由Microsoft Research的eXtreme Computing Group构建,可以使用虚拟角色actor简化分布式应用程序开发,这些角色是具有自己状态的单线程对象,它们不共享任何内存并通过使用异步远程过程调用交换消息进行通信,这些调用是按需激活的,当它们不再使用时被收集并按需要无缝地重新激活。因为运行时负责激活,清理和分发虚拟角色actor(奥尔良称之为grains),所以开发人员可以编写他们的代码,好像它在一台机器上

Microsoft Orleans(奥尔良)是.NET的开源编程框架,最初由Microsoft Research的eXtreme Computing Group构建,可以使用虚拟角色actor简化分布式应用程序开发,这些角色是具有自己状态的单线程对象,它们不共享任何内存并通过使用异步远程过程调用交换消息进行通信,这些调用是按需激活的,当它们不再使用时被收集并按需要无缝地重新激活。

因为运行时负责激活,清理和分发虚拟角色actor(奥尔良称之为grains),所以开发人员可以编写他们的代码,好像它在一台机器上运行而不用担心并发性,Orleans将其扩展到尽可能多的服务器。

当Microsoft 在2015年初开源奥尔良时 ,它需要.NET Framework,这意味着它只能在Windows Server上运行。2.0版本通过迁移到.NET Core来实现Orleans跨平台,.NET Core现在可以在 Linux 和macOS上运行(支持.NET Core 2.0和2.1,因此开发人员无需升级其.NET版本即可使用新奥尔良版本)。

Orleans已经支持依赖注入,主要是允许开发人员在运行时将依赖项注入到自己的应用程序代码中,所有内部组件都是可注射的。

奥尔良设计

熟悉的ASP.NET概念使新开发人员更容易学习,还使社区更容易为奥尔良做出贡献,这对项目来说变得越来越重要。

即将发布的2.1版本中最大的变化之一是调度程序,它可以处理孤岛中数百万个任务的执行,新的调度程序提供了30%的更高吞吐量 - 它是由GitHub社区成员编写的。

另一个重要特性是新的代码生成器。“奥尔良的一个重要价值主张是它易于使用。您可以编写代码,就像对象是本地的一样,即使它是远程的; 为此,我们生成透明的代理类和序列化器。您可以本地编写代码,该代码采用特定类型的参数,但需要从一台机器神奇地转移到另一台机器,我们编写序列化器来执行此操作。“

Orleans 2.1中新代码生成包的大部分代码也是由社区提供的。这使用Roslyn .NET编译器的代码分析来避免潜在的冲突以及与不同版本的.NET Core SDK冲突的依赖关系。“代码生成的新版本使用代码来编译代码:它根本不加载程序集,它没有版本绑定 - 它只是查找代码并生成序列化程序和代理引用的代码。”


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机组成(第 6 版)

计算机组成(第 6 版)

Andrew S. Tanenbaum、Todd Austin / 刘卫东、宋佳兴 / 机械工业出版社 / 2014-8-19 / CNY 99.00

本书采用结构化方法来介绍计算机系统,书的内容完全建立在“计算机是由层次结构组成的,每层完成规定的功能”这一概念之上。作者对本版进行了彻底的更新,以反映当今最重要的计算机技术以及计算机组成和体系结构方面的最新进展。书中详细讨论了数字逻辑层、微体系结构层、指令系统层、操作系统层和汇编语言层,并涵盖了并行体系结构的内容,而且每一章结尾都配有丰富的习题。本书适合作为计算机专业本科生计算机组成与结构课程的教......一起来看看 《计算机组成(第 6 版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码