Hi Arno,
What I was considering is the idea that a user is idempotent, but may find itself associated across the cluster to a “world geography”. One shard aggregates users, one shard aggregates geographies. In the analogy, the user shard is the HLR, the geography shard is the VLR. It’s not exact, of course. Communicating between the two is managed by key through the shard region controllers. So the user would maintain the key of the geography that it is currently in, and likewise the geography would maintain a list of the keys for the users that are in it.
From a perspective of locality, it does not change that the user will be instantiated in the node where the shard is “balanced” to. As I re-read your OP, I think I mis-considered your goals.
What if you kept the shard for the geographies and removed it for the users, keeping the latter persistent all the same. Then spread the persistence configuration for users across the cluster (I use ZK for this). The user could then be restored as a child of the geography by the sharded geography actor, on that same node.
A basic implementation would require that the user actor was on one node at a time. You might want some security against the user actor being started in multiple geographies. It might be completely reasonable for the user actor to be multiply available like that, maybe by wiring distributed PubSub into the persistent user actor event loop. I haven’t thought though the scalability or performance of this, just offering ideas.
Brian
> --
>>>>>>>>>>> Read the docs:
http://akka.io/docs/
>>>>>>>>>>> Check the FAQ:
http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>> Search the archives:
https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to a topic in the Google Groups "Akka User List" group.
> To unsubscribe from this topic, visit
https://groups.google.com/d/topic/akka-user/_ogMHnVWm78/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
akka-user+...@googlegroups.com.
> To post to this group, send email to
akka...@googlegroups.com.
> Visit this group at
https://groups.google.com/group/akka-user.
> For more options, visit
https://groups.google.com/d/optout.