【问题标题】:Deleting de-activated stateful actors删除已停用的有状态参与者
【发布时间】:2016-03-07 10:46:05
【问题描述】:

我了解到有状态的 Actor 会在空闲一段时间(默认为 60 分钟)后停用。这将从托管这些参与者的节点中释放 RAM(和 CPU)。但是,它们的状态将保留在集群中,以防需要重新激活。

我想知道是否有可能以某种方式枚举已停用的演员(具有持久状态),以便根据某些自定义标准永久删除其中一些。

这样做的目的是释放集群中的磁盘空间,因为他们知道某些参与者永远不会再次被激活(如果他们愿意,他们会像全新的一样行事)。

作为附带的好处,如果确实可以获得“曾经激活但可能停用”的演员列表,那么我们就不必手动维护这样的列表。

【问题讨论】:

  • 如果过期 Actor 的状态不重要,您可能希望使用无状态 Actor 来代替私有变量。
  • 在我的场景中,参与者的状态是持久的和可复制的,这一点至关重要。虽然,随着时间的推移,某些参与者的状态将不再用于任何目的,也将不再需要。我希望能够清理那个状态。

标签: c# azure-service-fabric


【解决方案1】:

这在今天是不可能的,但这是一个常见的问题,我们正在积极努力。

更新 - 2016-04-04

此功能已添加到 1.5.175 SDK 中。

【讨论】:

猜你喜欢
  • 2016-12-02
  • 2016-04-18
  • 2016-08-01
  • 2016-04-13
  • 2023-04-07
  • 2017-01-31
  • 2018-02-27
  • 2016-12-02
  • 2017-12-08
相关资源
最近更新 更多