【发布时间】:2016-11-23 02:18:07
【问题描述】:
基于字符串的 ActorId 的最大长度是多少?如果最大可能长度和最大推荐长度之间存在差异,那么差异是什么?为什么?
【问题讨论】:
-
有没有“最大推荐长度”?
标签: c# azure actor azure-service-fabric
基于字符串的 ActorId 的最大长度是多少?如果最大可能长度和最大推荐长度之间存在差异,那么差异是什么?为什么?
【问题讨论】:
标签: c# azure actor azure-service-fabric
ActorId 本身对基于字符串的 id 的长度没有指定的限制。但是,在为基于字符串的 ActorId 选择长度时,您应该考虑以下几点:
1) ActorStateProvider(IActorStateProvider的实现)存储了actor的命名状态和提醒。根据实现,它可能对基于字符串的 ActorId 的长度有特定限制,因为在内部它将使用 ActorId、actor 状态名称和提醒名称(可能还有一些内部元数据标签)的组合来唯一标识持久化的命名 -给定参与者的状态和提醒。
2) Actor 的默认 ActorStateProvider 是 KvsActorStateProvider。它在键值存储之上实现。它的密钥长度限制为 872 个字符。我建议保留 50 个字符用于内部元数据标记,您可以使用剩余的字符根据您的命名方案在基于字符串的 ActorId(s) 和演员状态名称/提醒名称之间分配。
【讨论】: