【发布时间】:2018-10-30 15:38:15
【问题描述】:
我有一个有状态的服务,它存储了一堆关于我的用户的数据,这些数据存储在一个可靠的字典中,显然也可以从那里检索它。
不过,我也有一个使用存储此信息的 SQL 数据库。在初始化新的有状态服务实例时,我需要将该信息从我的 SQL 数据库迁移到新的可靠存储机制中。从那时起,有状态的服务就是事实的来源。理想情况下,我想延迟我的有状态服务的可用性,直到这个初始化过程完成。
对于如何做到这一点有什么建议吗?
【问题讨论】:
-
在状态尚未导入的情况下调用服务时只返回错误状态或抛出异常是否可以接受?这将是迄今为止最容易实现的。或者,您可以尝试使用 Task 或 TaskCompletionSource 在打开通信侦听器之前等待 Task。
-
@PeterBons - 是的,我很乐意服务返回“未准备好”或类似的异常(就像 SF 当前所做的那样)。按照您的建议,我应该在我的服务中覆盖哪个功能?
标签: .net-core service-fabric-stateful azure-service-fabric