项目结构 开始Orleans之前,我们都知道Orleans主要可以分为俩部分,Host和Client. 所以我们可以创建如下的项目结构: IGrain 一个包含Grain接口的库(.NET Standard 2.1) Grain 一个包含Grain类的库(.NET Standard 2.1) Host 一个控制台应用程序,用来托管我们的Silo(.NET Core 3.1) Client 一个控制台应用程序,用来做我们的Orleans客户端(.NET Core 3.1) Orleans引用 Nu…
本地开发配置 本地开发和调试的时候,我们可能不需要去关注集群和网络ip端口.所以对于本地开发模式,Orleans给了我们比较简单的配置方式. Silo配置 在本地开发的配置模式下,Orleans会默认使用本地11111和30000作为Silo和网管的监听端口 此时我们需要ClusterOptions通过ISiloBuilder.Configure方法进行配置. ConfigureApplicationParts用于将带有Grain类的程序集显式添加到应用程序设置中.由于WithReference…
前言 Orleans是一个跨平台的框架,用于搭建可扩展的分布式应用程序 第一次接触Orleans还是两年前做游戏服务器的时候,用SignalR+Orleans的组合,写起代码来不要太爽. 即将进入2020年,NET Core也在前几天发布了3.1版本,于是决定把Orleans拿出来再学习学习. 学习前的准备 学习Orleans之前,建议大家先阅读一下官方文档:Orleans 对它有一个基本印象之后再对 Actor 模型有一个基本了解,本文更多的是学习笔记,可能对理论相关的知识会讲述的较少,网上有…
ClassRoom ClassRoom是一个练手demo,目的是为了能熟悉掌握Orleans的基本知识和使用方法,我会尽量在这个项目中加入更多的知识点,一边学一边练避免我看完文档就忘掉 创建项目 依旧是四个项目起步 项目名称 项目类型 项目说明 IGrains .net Core 3.1 类库 Grain接口库 Grains .net Core 3.1 类库 实现Grain的类库 Silo_ConsoleApp .net Core 3.1 控制台 Silo服务 Client_ConsoleApp…
服务端配置 Silo通过SiloHostBuilder和许多补充选项类以编程方式进行配置. Silo配置有几个关键方面: Orleans集群信息 集群提供程序(不知道咋翻译) Silo到Silo和Client到Silo通信的端点 应用部分 这是Silo配置的示例,该Silo配置定义群集信息,使用Azure群集并配置应用程序部分: var silo = new SiloHostBuilder() // 集群信息 .Configure<ClusterOptions>(options => {…
客户端配置 通过一个ClientBuilder和多个补充选项类,以编程方式配置一个用于连接Silo集群并将请求发送至Grain的客户端. 客户端配置示例: var client = new ClientBuilder() // 集群信息 .Configure<ClusterOptions>(options => { options.ClusterId = "my-first-cluster"; options.ServiceId = "MyOrleansSe…
简介 Orleans用起来的确很爽,更爽的是咱们有能监控它的工具. OrleansDashboard 这个工具是一个可视化的Silo监控工具,Silo和Grain的活跃状态一目了然,各个接口的响应速度也可以很清晰的统计到. 安装 使用NuGet引用 OrleansDashboard 然后修改 SiloHostBuilder 的配置,添加Dashboard: new SiloHostBuilder() .UseDashboard(options => { }) .Build(); 启动Silo,然…
简介 在这一节,我们将介绍如何在Silo和Client中获取Grain及调用Grain Grain获取方式 从Grain内部获取: //根据特定的Key值创建或获取指定的Grain IStudent student = GrainFactory.GetGrain<IStudent>(studentID); 从Client获取: IStudent player = client.GetGrain<IStudent>(studentID); 应用 我们在项目中新增一个教室的概念,学生入…
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity…
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史记录.) 二.Web 组件开发规范Rules 目录 Web 组件样式组织 目录结构及说明 package.json README.md HISTORY.md src 目录 开发脚手架 调试预览 Web 组件基于 Amaze UI 基础库(CSS / JS)开发,在基础库已有样式.功能的基础上做更多扩…