Shred by key
Simple method that could be used to split some content by string keys. Could be used to distribute content in shredded tables or processing on different nodes.
function loadBalance(int $numNodes, $requestKey) {
if (! is_int($requestKey)) {
$requestKey = crc32($requestKey);
}
if ($node = $requestKey % $numNodes) {
return $node;
}
return $numNodes;
}