AKKA路由器使用一致的哈希作为路由但需要向特定的actor传递消息

时间:2017-05-21 22:42:01

标签: java akka router consistent-hashing

我正在尝试找到一个解决方案,其中我将包含特定键值对的AKKA Actor实例作为实例数据。我需要的是能够通过使用它具有的键来定位实例数据来更新实例数据。一个Actor将有一个键,它是唯一的。我看到一致的hashing将能够路由到包含可能是一千个演员的特定节点,但是如何传递给特定的演员呢?

我需要在java中知道。

1 个答案:

答案 0 :(得分:5)

一致性散列并不一定将消息的一致散列映射到1-1关系中的actor。它有更多的关系 - 所以单个参与者可以成为许多不同(就产生一致的哈希)消息的一个关系。它也有不同的缺点:

  • 当谈到路由器调整大小时,它非常弱(随着演员数量的变化,他们负责的散列范围也会发生变化,因此不同的演员可能会随着时间的推移处理相同的消息)
  • 它需要在记忆中不断出现演员。

对于您的情况, Cluster Sharding更有可能,您正在寻找什么