Example #1
0
        public static IActorRef StartAggregateClusterProxy(ActorSystem actorSystem, string clusterRoleName, int numberOfShards = 12)
        {
            var clusterSharding = ClusterSharding.Get(actorSystem);

            var shardResolver = new ShardResolvers(numberOfShards);

            var shardRef = clusterSharding.StartProxy(
                typeof(TAggregateManager).Name,
                clusterRoleName,
                ShardIdentityExtractors
                .AggregateIdentityExtractor <TAggregate, TIdentity>,
                shardResolver.AggregateShardResolver <TAggregate, TIdentity>
                );

            return(shardRef);
        }
Example #2
0
        public static IActorRef StartAggregateCluster(ActorSystem actorSystem, int numberOfShards = 12)
        {
            var clusterSharding         = ClusterSharding.Get(actorSystem);
            var clusterShardingSettings = clusterSharding.Settings;

            var shardResolver = new ShardResolvers(numberOfShards);

            var shardRef = clusterSharding.Start(
                typeof(TAggregateManager).Name,
                Props.Create <TAggregateManager>(),
                clusterShardingSettings,
                ShardIdentityExtractors
                .AggregateIdentityExtractor <TAggregate, TIdentity>,
                shardResolver.AggregateShardResolver <TAggregate, TIdentity>
                );

            return(shardRef);
        }