【问题标题】:Azure service fabric reliable services state?Azure 服务结构可靠服务状态?
【发布时间】:2016-12-04 01:34:36
【问题描述】:

我是 Azure 服务结构的新手,我正在尝试了解有状态服务的工作原理以及状态的管理方式。

假设有这些副本的有状态服务:

  • 一个主要的
  • 两个主动二级
  • 一个空闲的辅助

有状态服务具有开放的通信端点,从许多无状态服务中调用。当主副本更改状态时,更改将复制到两个活动的辅助副本。我说的对吗?

可以从无状态服务之一调用辅助副本还是只有主副本可以接受请求?

如果可以调用辅助副本,是否会在主副本更改状态时收到通知?我厌倦了 StateManagerChanged 和 DictionaryChanged 但只在主副本上调用?

我还想在主副本和活动辅助副本之间划分请求吗?除了专门标记为辅助副本的请求之外,所有请求都转到主副本?

【问题讨论】:

    标签: c# azure azure-service-fabric


    【解决方案1】:

    Microsoft 网站上有大量关于此的文档。

    但基本情况似乎是:

    • 状态在多个副本中复制。
    • 事务用于复制状态
    • 主节点负责写入并向副本发送更新
    • Service Fabric 执行批处理以提高效率
    • 当主节点因故障、负载平衡或升级而关闭时,一旦主节点完成,其中一个活动的辅助节点就会接管。我的经验表明,一旦主节点即将关闭,您将无法保存任何状态。
    • 有一些方法可以读取活动的辅助节点,但我自己还没有这样做

    据我所知,底线是设计服务以假设它们会失败并且一切都会正常运行。当主服务器出现故障时,其中一个辅助服务器几乎会立即接管。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-09
      • 2016-08-04
      • 2018-09-01
      • 1970-01-01
      • 2018-07-25
      • 2017-05-23
      • 1970-01-01
      • 2020-05-12
      相关资源
      最近更新 更多