MCPcopy Create free account
hub / github.com/InterviewReady/Low-Level-Design / RoundRobinLoadBalancer

Class RoundRobinLoadBalancer

LoadBalancer.java:43–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43class RoundRobinLoadBalancer extends LoadBalancer {
44 Map<RequestType, Queue<Destination>> destinationsForRequest;
45
46 @Override
47 Destination balanceLoad(Request request) {
48 if (!destinationsForRequest.containsKey(request.requestType)){
49 Set<Destination> destinations = getDestinations(request);
50 destinationsForRequest.put(request.requestType, cTq(destinations));
51 }
52 Destination destination = destinationsForRequest.get(request.requestType).poll();
53 destinationsForRequest.get(request.requestType).add(destination);
54 return destination;
55 }
56
57 private Queue<Destination> cTq(Set<Destination> destinations) {
58 return null;
59 }
60}
61
62class Service {
63 String name;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected