在确定天蓝色服务结构有状态演员系统的正确演员规模时应采用哪些方法?
采取极端情况我理论上 正好有一个所有状态的演员,或者反过来使用演员来存储1个字符串。显然这两个都是错的。
对于单个参与者,如果测量数据的序列化大小,那么 kilo 字节的数量会被认为是小的,那么 mega 字节会被认为是多少?例如,10KB小而10MB大?
根据上述答案构建,假设演员网络受到“小”演员的影响。什么构成小型网络与大型网络?例如,又是100万小和10亿大?
我非常希望在这些测量中使用某种引用。但是,我无法从Azure文档中获取任何特定内容。如果还没有发布具体信息,我会接受处理不同行为者网络实施的来源,而不是具体的ASF。
答案 0 :(得分:2)
通常,参与者状态的原始大小不如其访问范围和模式有趣。如果您将演员作为"经理"对于其他组件需要访问各种部分的大量状态,当很多调用者尝试并行发出请求时,很可能会被actor模型的单线程特性所绊倒。另一方面,如果您有一个需要利用大量状态来执行其任务的自然封装的actor,那么将所有状态存储在本地而不是发出一组网络请求可能是有益的。
如果你正在寻找一个非常粗略的经验法则,我希望大多数演员状态以千字节来衡量。如果你超过兆字节门槛,那么值得重新审视你的设计并确保你的演员没有扮演管理员或迷你数据库角色,这可以更好地服务于可靠的服务/可靠的字典。