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); }
private static IShardSelectionStrategy GetSelectionStrategy( ICollection<ShardId> shardIds) { var loadBalancer = new RoundRobinShardLoadBalancer(shardIds); return new RoundRobinShardSelectionStrategy( loadBalancer); }
public IShardStrategy NewShardStrategy(IEnumerable<ShardId> shardIds) { var loadBalancer = new RoundRobinShardLoadBalancer(shardIds); var pss = new RoundRobinShardSelectionStrategy(loadBalancer); IShardResolutionStrategy prs = new AllShardsShardResolutionStrategy(shardIds); IShardAccessStrategy pas = new SequentialShardAccessStrategy(); return new ShardStrategyImpl(pss, prs, pas); }
public RoundRobinShardSelectionStrategy(RoundRobinShardLoadBalancer shardLoadBalancer) : base(shardLoadBalancer) { }
public IShardStrategy NewShardStrategy(IEnumerable<ShardId> shardIds) { var loadBalancer = new RoundRobinShardLoadBalancer(shardIds); return new ShardStrategyImpl( new RoundRobinShardSelectionStrategy(loadBalancer), new AllShardsShardResolutionStrategy(shardIds), new ParallelShardAccessStrategy()); }