我看到您可以在Akka.Cluster配置中指定一个名为“角色”的设置。如果我理解正确,则仅在实体角色和节点“角色”配置设置匹配的节点上运行实体/角色。
我还在Akka.Cluster.Sharding中看到了另一个配置设置,称为“角色”。与上面的设置有什么区别?
答案 0 :(得分:4)
角色是一种标签,可以为每个actor系统添加标签,没什么花哨的。
您可以通过选中Cluster(system).selfRoles
来实现不同的行为/逻辑,具体取决于代码所运行的参与者系统的角色。
Akka群集分片和群集单例使用此功能将分片/单例的部署限制为标记有特定角色的一组参与者系统。
总结两个角色,您提到的是同一枚硬币的不同方面。 akka.cluster.roles是actor系统的标签,而akka.cluster.sharding中的角色设置指示仅在标记有该角色的节点上启动分片。