我正在做一些示例以瞭解一些關於Akka.NET的內容。我試圖實現每個實體的子模式(如Akka.NET Design Patterns所示),其中每個用戶有一個角色(跨羣集)。使用Akka.NET在集羣中爲每個用戶實現一個actor(每個實體的子模式)
要做到這一點,我試圖使用ConsistentHashingPool的一個ClusterRouterPool,它將消息分發給一些父類actor,這些父類actor通過id代表索引的child actors(int,IActorRef)(用作一致性的關鍵字哈希值)。
這種方法卻似乎並沒有工作,當我最初預期,因爲:
- 具有不同的客戶創造的路由器,將導致在創建多個父演員,這反過來會造成重複的兒童演員。
- 即使我有一臺路由器,如果新節點加入集羣會發生什麼?路由器不會重新平衡自己,從而導致再次創建路由到新的父母角色,從而產生重複的子角色?
有幾分相似question這裏StackOverflow上指向使用Akka.Cluster.Sharding,但Akka.NET Design Patterns亞倫有評論指出,他使用一致性哈希路由器的方法,因此爲什麼我在第一時間啓動它。
感謝
僅供參考,我將示例添加到[GitHub](https://github.com/joaofbantunes/AkkaSample) – joaofbantunes