Azure 删除服务结构中的空闲有状态服务

Azure 删除服务结构中的空闲有状态服务,azure,azure-service-fabric,service-fabric-stateful,Azure,Azure Service Fabric,Service Fabric Stateful,我有一组特定于用户的有状态服务,为应用程序中面向公众的无状态服务(WebAPI)转发的请求提供服务 如果一个有状态服务在给定的时间间隔(比如一小时)内没有为任何用户请求提供服务,那么我将尝试创建一个有状态服务。目前,我通过在服务本身中保留一个.NET计时器来管理它,并在服务空闲时使用tick事件来自毁服务 这样做对吗?或者在Azure服务结构中是否有其他更有效的方法来实现这一点 您拥有的机制将非常有效,这是我们通常推荐的 另一种方法是使用一个通用的“服务管理器”服务,定期检查服务是否繁忙(或是否

我有一组特定于用户的有状态服务,为应用程序中面向公众的无状态服务(WebAPI)转发的请求提供服务

如果一个有状态服务在给定的时间间隔(比如一小时)内没有为任何用户请求提供服务,那么我将尝试创建一个有状态服务。目前,我通过在服务本身中保留一个.NET计时器来管理它,并在服务空闲时使用tick事件来自毁服务


这样做对吗?或者在Azure服务结构中是否有其他更有效的方法来实现这一点

您拥有的机制将非常有效,这是我们通常推荐的


另一种方法是使用一个通用的“服务管理器”服务,定期检查服务是否繁忙(或是否收到通知),并启动deleteserviceasync调用。这样,只有该服务需要群集管理权限,而其他所有服务都可以锁定为只读。

看起来您可能可以在这里使用Actor模型。当它们在一段时间后空闲时,将自动对其进行垃圾收集。服务经理将如何检查服务是否繁忙?有什么建议吗?没有一个答案。通过http对服务上的端点执行Ping操作,完成后将服务报告返回给服务管理器,让服务管理器查看指示工作程序已完成的第三段数据(数据库字段上次写入时间、聚合性能计数器、跟踪活动等)。