Пример #1
0
        public ProxyShardingSpec() : base(GetConfig())
        {
            var role = "Shard";

            clusterSharding  = ClusterSharding.Get(Sys);
            shardingSettings = ClusterShardingSettings.Create(Sys);
            clusterSharding.StartProxy("myType", role, IdExtractor, ShardResolver);
        }
Пример #2
0
        public void ClusterSharding_must_start_a_region_in_proxy_mode_in_case_of_node_role_mismatch()
        {
            var settingsWithRole = ClusterShardingSettings.Create(Sys).WithRole("nonExistingRole");
            var typeName         = "typeName";

            var region = clusterSharding.Start(
                typeName: typeName,
                entityProps: Props.Empty,
                settings: settingsWithRole,
                extractEntityId: ExtractEntityId,
                extractShardId: ExtractShardId,
                allocationStrategy: new LeastShardAllocationStrategy(0, 0),
                handOffStopMessage: PoisonPill.Instance);

            var proxy = clusterSharding.StartProxy(
                typeName: typeName,
                role: settingsWithRole.Role,
                extractEntityId: ExtractEntityId,
                extractShardId: ExtractShardId
                );

            region.Should().BeSameAs(proxy);
        }