【问题标题】:Service Fabric Reliable Collection CapacityService Fabric 可靠收集能力
【发布时间】:2017-01-28 07:29:00
【问题描述】:

在一些服务结构应用程序示例参考:https://github.com/Azure-Samples/service-fabric-dotnet-iot,它检查当前存在于集合中的项目数,类似于

if(currentNumberOfBufferedWorkItems >= m_MaxNumOfBufferedWorkItems)
        {
            throw new InvalidOperationException($"Work Manger is at maximum buffered work items:{currentNumberOfBufferedWorkItems}");
        }

m_MaxNumOfBufferedWorkItems 的当前值为 10000

设置 Reliable 集合的最大缓冲区值需要考虑哪些因素?

【问题讨论】:

    标签: azure azure-service-fabric service-fabric-stateful


    【解决方案1】:

    在提供的示例中,他们使用队列来缓冲待处理的项目。他们检查项目计数以限制缓冲区的大小。这是选择,不受收藏本身的限制。可靠集合的大小仅受节点上的磁盘空间限制。

    本例中的缓冲区限制应由处理能力决定。如果缓冲区失控,则需要增加更多处理能力。

    【讨论】:

    • 不确定集合的大小是否仅受磁盘空间的限制。之前有人说 SF 可靠集合与 .net 中的任何其他集合具有相同的限制 - 2GB,并且还表示在未来的版本中 SF 团队将摆脱这个限制。是不是我误会了,真的没有限制?
    • Matthew Snider (MSFT) 注意到该限制已在不久前在此处的 cmets 中删除:azure.microsoft.com/en-us/documentation/articles/… {2GB 限制已在不久前删除(愚蠢的 int)。今天,您的所有键的大小和磁盘的值都受限于内存(因为我们将字典中的值分页)。}
    猜你喜欢
    • 2017-12-07
    • 2017-12-08
    • 1970-01-01
    • 2017-12-01
    • 2016-08-09
    • 2016-03-14
    • 2022-06-18
    • 1970-01-01
    • 2018-07-04
    相关资源
    最近更新 更多