Azure Durable Entities 状态大小限制及定价模式相关咨询
Azure Durable Entities 相关问题解答
1. 实体可存储的状态容量最大上限
Durable Entities本身没有硬编码的状态容量上限,实际限制取决于你使用的底层持久化存储提供方,使用默认的Azure Storage作为底层存储时规则如下:
- 序列化后的状态小于等于1MB时,状态会直接写入Azure Table Storage,此时容量上限为Azure Table Storage单实体的1MB限制。
- 序列化后的状态大于1MB时,Durable Task运行时会自动将状态内容转存到Azure Blob Storage,此时的容量上限对应Azure Blob Storage单块Blob的容量上限,完全可以满足绝大多数业务场景。
注意:官方推荐单个实体序列化后的状态控制在64KB以内,过大的状态会明显提升读写延迟、增加运行开销,大体积数据建议只在实体中存储引用指针,实际数据存入独立的存储资源。
2. 实体服务的定价模式
Durable Entities是Azure Functions的内置能力,没有单独的服务附加费用,总费用分为两部分:
- 函数执行费用:和普通Azure Functions的计费规则完全一致:
- 消耗计划:按实际执行的GB-s(内存占用量×执行时长)以及执行次数核算费用,Durable Entities的触发器触发、状态读写的运行耗时都会计入GB-s指标,你可以直接参考Azure门户展示的GB-s数据核算这部分成本。
- 弹性Premium计划/专用App Service计划:按实例的规格、运行时长计费,和同计划下的普通Azure Functions计费规则没有区别。
- 底层存储费用:Durable Entities持久化状态用到的存储资源(包括状态存储、运行时所需的控制队列、历史表等)属于独立的Azure Storage资源,需要按照你所选存储账户的定价规则单独计费,这部分成本不会包含在Azure Functions的GB-s费用中。
内容的提问来源于stack exchange,提问作者NaSh
相关产品推荐
相关产品推荐

