If we wanted to randomly pick a segment, we would have to go through each segment, calculate the total number of segments, and then do rand.nextInt(totalNumberOfSegments). Then we would have to figure out which server this randomSegment falls in and then go into that server and pick this segment. This is a much more laborious process than just using reservoir sampling which gives the same uniform distribution.

Also, two classes use this: RandomBalancerStrategy and CostBalancerStrategy