与How to implement custom routing in Akka.Net
非常相似的问题我想将路由器用于具有滚动窗口时间范围的缓存框架。我希望路由器根据消息中的值(组合)将消息路由到正确的参与者。我不能使用一致的哈希路由器,因为列表会增加并且计数事先未知。
我可以实现一个IDictionary并拥有一个父actor,当找不到密钥时,该父actor可以创建一个新actor。感觉很脏,我想我会遇到主管策略问题,需要执行某种健康检查。
有没有一种方法可以创建自定义路由器,类似于上述问题的答案?
注意:拥有状态的参与者需要对事件进行实时汇总和计算。
答案 0 :(得分:0)
说实话,听起来Akka.Cluster.Sharding正是您想要的。它允许您将消息路由到集群中的参与者(如果尚不存在,可以临时创建它们)。它还涵盖了场景的重新平衡以及从死节点迁移参与者的情况(这样一来,您就不需要进行任何运行状况检查)。