Total Requests0
Total Weight10
Cycle Position0/10
Server A
5
weight (50% share)
0
Server B
3
weight (30% share)
0
Server C
2
weight (20% share)
0
// schedule (expanded weights)
A
A
A
A
A
B
B
B
C
C

// event log

No events yet.

// how it works

  • Each server assigned a weight (capacity)
  • Expand into schedule: A×5, B×3, C×2 = 10 slots
  • Cycle through expanded schedule sequentially
  • Higher weight = more slots = more requests

// trade-offs

  • Respects heterogeneous server capacity
  • Predictable distribution over full cycle
  • Doesn't adapt to real-time load
  • Requires manual weight configuration