1、序列化  序列化配置有几个坑这里我写出来

2、负载均衡 

 3、定时器与提醒 

4、服务启动执行代码

5、监控

序列化

新建实体类

Orleans的深入

引用的包

Microsoft.Orleans.Core V2.12

Microsoft.Orleans.OrleansCodeGenerator.Build V2.12

Microsoft.Orleans.Serialization.Bond V2.12 

using Bond;
using System;

namespace Entity
{
    [Schema]
    [Serializable]
    public class GoodsEntity
    {
        public int ID { get; set; }
        public string GoodsName { get; set; }
    }
}
 

 

两个标签缺一不可

所有的简仓全部需要配置 包括用来做网关的

网关使用BondSerializer

添加包

Microsoft.Orleans.OrleansGoogleUtils V2.12

 var builder = new SiloHostBuilder()
                   .Configure<SerializationProviderOptions>(d => { d.SerializationProviders.Add(typeof(ProtobufSerializer).GetTypeInfo()); d.FallbackSerializationProvider = typeof(ProtobufSerializer).GetTypeInfo(); })

所有的客户端全部需要配置

 IClusterClient client = new ClientBuilder()
                  .Configure<SerializationProviderOptions>(d => { d.SerializationProviders.Add(typeof(ProtobufSerializer).GetTypeInfo()); d.FallbackSerializationProvider = typeof(ProtobufSerializer).GetTypeInfo(); })

然后传递就可以用对象保存了

Orleans的深入

开启新的服务

网关需要引用实力类库 对于非可靠部署

如果添加新的实体需要重启网关

 

 

2、 负载均衡

Orleans的深入

若是使用同一个对象进行长时间运算则添加特性[StatelessWorker]

若是new不同的对象进行运算则会自动指定服务器进行运算

Orleans的深入

 

代码就不贴上了  只是非可靠部署的一些改变

序列化与负载均衡的下载地址:

负载均衡Demo

 

3、定时器与提醒

定时器与提醒地址

4、服务启动任务

一个Grain启动完成后执行的任务

官网Doc写的很好

链接

5、运行监控

现成的项目

https://github.com/OrleansContrib/OrleansDashboard

DEMO地址 

运行网关后访问127.0.0.1:8080 账号ABC 密码123

 

相关文章:

  • 2021-07-29
  • 2019-10-28
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
  • 2022-01-21
猜你喜欢
  • 2022-03-10
  • 2021-08-01
  • 2021-09-01
  • 2022-01-14
  • 2022-02-18
相关资源
相似解决方案