2017-05-05 84 views
0

我正致力於將單個節點的akka​​ actor系統應用程序更改爲akka集羣。一種變化是將一種有狀態的Actor(在運行時可能很多)轉換爲Cluster Sharding管理實體。現在它可以在多個節點上正常工作。Akka集羣分片實體查詢

我面臨的一個問題是如何查詢(GET ALL)由羣集中的分片區域創建的實體。以前在單節點模式下,它使用參與者系統ActorSelection進行參與者路徑匹配以獲取匹配參與者的列表,這在集羣分片中不再起作用。

我想知道Sharding地區是否有一些內置的支持查詢其實體。

回答

0
  1. 您需要所有的actor系統在同一個集羣中。爲了確保它們都配置了相同的種子節點。

  2. 如果您想訪問居住在另一臺機器上的演員,則需要將其IP地址包含在演員選擇中。

  3. 如果你不想爲演員選擇需要一個IP地址,你將不得不爲你的演員實現一個命名系統。爲此,您可以使用Zookeeper並將每個條目放在短暫的znode上。

來源:解決同樣的問題在2014年