【发布时间】:2016-04-19 17:57:41
【问题描述】:
我一直在尝试使用带有ConsistentHashingPool 的路由器来动态创建actor,以根据对象ID 来消费消息,在这个简单的例子中,它是一个唯一的字符串。
我希望每个域聚合一个参与者,这似乎是一种非常简单的方法。
但是散列似乎在做一些奇怪的事情,并向已经从不同的散列映射值生成的参与者发送消息。
ActorSystem.ActorOf(
Props.Create(() => new MyAggergateActor()).WithRouter(
new ConsistentHashingPool(10)
.WithHashMapping(o => (o as MyEvent)?.MyAggregateUniqueId ?? string.Empty)
.WithResizer(new DefaultResizer(1, int.MaxValue))),
"myAggregateRouter");
同时调整 nrOfInstances 的值似乎也破坏了事情,这意味着哈希可能只适用于初始实例集,并且没有产生新的参与者?我认为调整大小应该在这里帮助我?
请原谅我的幼稚,我才刚刚开始使用 Akka。
【问题讨论】: