我们使用Service Fabric部署无状态微服务。微服务之一被设计为单例。这意味着它被设计为仅部署在单个节点上:
InstanceCount = 1
通常,如果有多个实例且一个实例失败,则其他实例继续工作。
但是单个实例的行为如何?我在文档中找不到这种情况。 I only found out that,当节点被更新且参数IsSingletonReplicaMoveAllowedDuringUpgrade
设置为true
时,可以将其移至其他节点,但是没有消息源明确说明发生什么情况单例在执行期间失败。
它会自动重启吗?如果是这样,那么停机时间有多长?
答案 0 :(得分:2)
Service Fabric将自动为您重新启动服务。重新启动所需的时间取决于计算机的负载,服务的大小以及故障的类型,但是通常在几秒钟之内。
重新启动所花费的时间还取决于服务如何失败。进程崩溃可以更快地恢复。机器故障或网络中断可能需要更长的时间才能检测到,但是即使在这种情况下,SF通常也会在10到30秒内重新启动。