When you have an item list, with each item has a different chance to be selected, called frequency. You use Rejection Sampling or Frequency Counting to randomly pick one of them.
Frequency Counting is stacking up all the item, and count the total frequency. Pick a random number between 0 and total frequency. Start counting from the first item to pick the item located in that random number.
Rejection Sampling is to draw a frequency graph, and keep throwing dart to the board, until the dart hit the area bellow the graph.
https://am207.github.io/2017/wiki/images/Rejection.pngSo when implementing you will choose one of amongst the two methods for service node selection, right?