【发布时间】:2017-02-24 15:59:40
【问题描述】:
Service Fabric 中有一个很好的功能,它允许每个服务对象在运行时更新自己的负载。动态负载报告允许副本或实例在其生命周期内调整其分配/报告的指标负载。 以下是我可以在服务中执行此操作的方法:
this.Partition.ReportLoad(new List<LoadMetric> { new LoadMetric("MemoryInMb", 1234)});
问题在于,Partition 是在 StatefulServiceBase 中声明的受保护属性,因此它在 ActorService 中可用,但在 Actor 中不可用。我的意思是,我不能做 Actor.ActorService.Partition.ReportLoad(...)。我确实看到了一种解决方法,我可以创建我的自定义 Actor 服务类并将此属性公开,但我想知道这是否有意义,是否有任何特殊原因无法报告 Actors 中的负载?
【问题讨论】: