Пример #1
0
        public IShardStrategy NewShardStrategy(IEnumerable <ShardId> shardIds)
        {
            var loadBalancer             = new RoundRobinShardLoadBalancer(shardIds);
            var pss                      = new FirmShardSelectionStrategy(loadBalancer);
            IShardResolutionStrategy prs = new AllShardsShardResolutionStrategy(shardIds);
            IShardAccessStrategy     pas = new SequentialShardAccessStrategy();

            return(new ShardStrategyImpl(pss, prs, pas));
        }
Пример #2
0
            public IShardStrategy NewShardStrategy(IEnumerable <ShardId> shardIds)
            {
                var loadBalancer = new RoundRobinShardLoadBalancer(shardIds);

                return(new ShardStrategyImpl(
                           new RoundRobinShardSelectionStrategy(loadBalancer),
                           new AllShardsShardResolutionStrategy(shardIds),
                           new ParallelShardAccessStrategy()));
            }
Пример #3
0
        public void TestBalancer()
        {
            List <ShardId> shardIds = new List <ShardId> {
                new ShardId(1), new ShardId(2)
            };
            RoundRobinShardLoadBalancer balancer = new RoundRobinShardLoadBalancer(shardIds);

            Assert.AreEqual(1, balancer.NextShardId.Id);
            Assert.AreEqual(2, balancer.NextShardId.Id);
            Assert.AreEqual(1, balancer.NextShardId.Id);
        }
Пример #4
0
 public FirmShardSelectionStrategy(RoundRobinShardLoadBalancer loadBalancer)
 {
     this.loadBalancer = loadBalancer;
     this.firms        = FirmDefinitionHelper.Firms;
 }
 public RoundRobinShardSelectionStrategy(RoundRobinShardLoadBalancer shardLoadBalancer)
     : base(shardLoadBalancer)
 {
 }