我们的应用程序中有一个特殊的场景-该应用程序中的所有子参与者都处理大量数据(大约50-200 MB)。 因此,我们决定在创建父actor的同一台计算机(工人流程)中创建子actor。
当前,这是通过使用角色来实现的。我们还使用.NET内存缓存在子参与者之间传输数据(几个MB)。
问题:可以关闭子角色中的集群以达到我们期望的结果吗?
编辑:更具体地说,我在下面详细说明了我们的应用程序设置。
当我们发现由于在各个计算机之间分配子actor导致的网络开销时,我们决定将子actor的创建限制为接收到主请求的相应计算机,而仅在各个计算机之间分配父actor。
在与Akka.NET专家联系时,建议我们使用“角色”,以便将子角色的创建限制在集群系统中的单个计算机上。 (例如,Worker1Child,Worker2Child而不是“ Child”角色)
问题(续):我只想知道,是否仅通过在子参与者中禁用集群选项就能达到相同的结果;这样做是最佳做法吗?
请告知。
答案 0 :(得分:0)
听起来像是您一直在使用群集池路由器在群集中远程部署工作人员-您在描述中没有明确提及,但这听起来很像。
听起来,您在这里真正想做的就是利用本地亲缘关系:让同一实体的童工演员在同一流程中一起工作。
这是我推荐的:
鉴于您在此处提供的信息,这与我所能提供的“一般”答案非常接近-希望对您有所帮助!