2013-10-02 55 views
2

我創建的演員代表物理設備及其狀態。隨着設備上線,我通過向演員的路徑發送和識別消息「按需創建」,然後如果它不存在,我創建一個。這些設備可能會有數百萬個。Akka演員:路徑查找效率

我擔心的是,隨着參與者數量的增加,識別查找將會受到性能影響。這是一個有效的關注嗎?

我正在考慮使用路由器策略來分割演員,但後來我發現使用通配符在路徑上搜索路由器會從每個路由器中獲取ActorIdentities。我假設一個ConsistentHashingRouter適合這種情況,但在我放下那個兔子洞之前,我只是想確保我沒有過早地進行優化。

回答

2

創建演員的實體只有其父(沒有其他方式),這意味着該父演員根本不需要使用Identify,只需檢查context.child(name).isDefined。這是非常有效的,儘管如果你真的有很多這樣的設備,你可能希望把你的設備分成多個父母。