Orleans 3.0 发布,微软下一代云计算编程模式
Orleans 是一种新的编程模式,用来提升微软通用语言运行库(CLR)的抽象水平,Orleans 的宗旨就是为了创建一种既适用于客户端又适用于服务器的编程模式,简化代码调试,提高代码的可移植性。3.0 版本带来大量的改进和修复,以及一些新的特性。
自 2.0 以来的一些主要变化是:
- 分布式 ACID 事务——多个 grains 可以加入一个事务(不管它们的状态存储在哪里)
- 新的调度器,它在某些情况下提高了 30% 以上的性能
- 新的基于 Roslyn 代码分析的代码生成器
- 重写集群成员以提高恢复速度
- 共同托管支持
Networking layer replacement with ASP.NET Bedrock
在 3.0 版本中,引入 TLS 支持,可通过 Microsoft.Orleans.Connections.Security 包获得。Orleans 3.0 将其整个网络层替换为构建在 Project Bedrock 之上的整个网络层,这是 ASP.NET 团队的一个创举。Bedrock 的目标是帮助开发人员构建快速、健壮的网络客户端和服务器。
网络层重写还包括用对 MemoryPool<byte> 的依赖替换自定义缓冲区池,在进行这种更改时,序列化现在更多地利用了 Span<T> 。在 Orleans 3.0 中,增加了对通过协议协商逐步升级网络协议的支持。Orleans 3.0 中添加的协议协商,例如定制核心序列化程序,同时保持向后兼容性。新网络协议的一个好处是支持全双工 silo-to-silo 连接,而不是以前在 silo 之间建立的单纯连接对。协议版本可以通过 ConnectionOptions.ProtocolVersion 配置。
Co-hosting via the Generic Host
现在,与其他框架(如 ASP .NET Core)在同一个进程中共同托管 Orleans 比以前更容易。下面是一个使用 UseOrleans 将 Orleans 与 ASP.NET Core 一起添加到主机的示例:
ar host = new HostBuilder() .ConfigureWebHostDefaults(webBuilder => { // Configure ASP.NET Core webBuilder.UseStartup<Startup>(); }) .UseOrleans(siloBuilder => { // Configure Orleans siloBuilder.UseLocalHostClustering(); }) .ConfigureLogging(logging => { /* Configure cross-cutting concerns such as logging */ }) .ConfigureServices(services => { /* Configure shared services */ }) .UseConsoleLifetime() .Build(); // Start the host and wait for it to stop. await host.RunAsync();
使用通用主机构建器,Orleans 将与其他托管服务共享服务提供商。这使得这些服务可以进入 Orleans。例如,开发人员可以将 IClusterClient 或 IGrainFactory 注入 ASP.NET Core MVC 控制器,并直接从它们的 MVC 应用程序调用 grains。此功能可用于简化部署拓扑或向现有应用程序添加其他功能。
Improved extensibility
streams 现在可以有自定义数据适配器,允许它们以任何格式接收数据。这使开发人员能够更好地控制 stream 项在存储中的表示方式。它还使 streams 提供程序能够控制数据的编写方式,从而使 steams 能够与遗留系统和/或 non-Orleans 服务集成。自定义事务状态现在可以声明它在事务中能够履行的角色。现在可以公开访问预定义的布局策略,以便在配置期间可以替换任何位置指示符。
Reliability improvements
此版本中,集群从故障中恢复得更快。消息传递错误现在得到更一致的处理,从而导致提示错误被传送回调用方。这有助于开发人员更快地发现错误。例如,当消息不能完全序列化或反序列化时,详细的异常将被传回原始调用方。
发布说明:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Firefox 70.0.1 发布,小版本修复
Firefox 70.0.1已经发布,带来了以下更新: fixed: 修复了导致使用动态 JavaScript 的某些网站或页面元素无法加载的问题Bug 1592136 为 MacOS 10.15 用户更新 OpenH264 视频插件(Bug 1587543) 标题栏不再显示在全屏视图中(Bug 1588747) changed: 面向 MacOS 10.15 用户的 OpenH264 视频编解码器版本(Bug 1587543) 下载地址: https://www.mozilla.org/firefox/download/thanks/
- 下一篇
Kotlin 中值得注意的编码错误
今年 5月,谷歌在 I/O 大会上宣布,Kotlin 编程语言成为其Android 应用程序开发人员的首选语言。 Kotlin是一种面向现代多平台应用程序的编程语言,成为谷歌开发 Android应用程序的首选语言后,许多开发人员逐渐地从Java转向 Kotlin。根据最新的一项调查显示,有 62%的开发人员使用 Kotlin来构建移动应用程序,另有 41%的开发人员使用 Kotlin来构建 Web后端项目。 而随着 Kotlin 的出现,越来越多的知名组织愈加重视移动应用程序的安全性。最近由DHS 与 NIST联合的一项关于移动设备安全研究发现,应用程序中的漏洞通常是没有遵循安全编码引起,这些漏洞会对用户的数据造成某种危害。 对于使用 Kotlin开发人员来说,熟悉这门语言并了解移动应用程序的安全编码是非常重要的。以下是在使用 Kotlin 时遇到的一些常见漏洞: 不安全数据存储 Android 生态系统为应用程序提供了几种存储数据的方法。开发人员使用的存储类型取决于几点:存储的数据类型、数据的使用以及数据是否应该保持私有或与其他应用程序共享。 而常见的编码错误是以明文存储敏感信息...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作