一 项目结构
1> 接口项目
.net core类库
2> Grains实现项目
.net core类库
3> 服务Host
.net core console application
4> 服务调用者Client
.net core console application with tcp
5> 客户端App
unity3d
二 引入Orleans类库
1> 接口和实现项目
PM> Install-Package Microsoft.Orleans.Core.Abstractions
PM> Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
2> Host
PM> Install-Package Microsoft.Orleans.Server
3> Client
PM> Install-Package Microsoft.Orleans.Client
三 完成接口和Grains的代码
1> Interface继承IGrainWithIntegerKey, IGrainWithGuidKey......
2> Grains继承接口和Grain<StateEntity>
四 配置集群
1> 使用本地集群
2> 替换使用Ado.net集群
五 配置日志
1> 使用Microsoft.Extensions.Logging.Console
2> 替换使用NLog
六 持久化
1> 配置持久化方式 使用Ado.Net持久化状态
2> 自定义持久化映射
七 异步推送消息
1> Client添加Observer实现
2> 接口增加订阅API
3> Grain添加ObserverManager, 并实现订阅
4> Client通过CreateObjectRefrence创建observerReference进行订阅
八 定时任务
九 EventSourcing
十 实战: 一个开房间游戏