3 ms·
I can think of a few ways to rebalance things on the fly, but I would probably just hash some immutable values for the user, like Id and name, together with a n
by hvidgaard 9y ago
I can think of a few ways to rebalance things on the fly, but I would probably just hash some immutable values for the user, like Id and name, together with a nonce. If a server get's overloaded, slowly move people from it by changing their nonce.
- justifier 9y agoif you are introducing a nonce why use a hash? with a performance reflective mutating nonce on the user id modulo works as is if you are introducing monitoring on a per user precision why use modulo? with a per user scheduled monitoring moving users based on user ids works as is maybe i was unclear in the above but i like the gp's simple solution.. especially because i personally have an affection for the modulo operator, but also because.. it only requires an operator that performs in a scale dependent finitely specific number of cycles and works as designed without any monitoring the above was intended to bring attention to shortcomings and probable failures in an otherwise elegant attempt the method is flawed but the direction is superb
- hvidgaard 9y agoYou could use nonce to determine what server to use. But I didn't want to choose directly, just the ability to chance the output of the hash for whatever reason. I did not want to use just any non random rebalancing mechanics to avoid advesaries attacking that implementation. With a hash the output is deterministic, but unpredictable.
- justifier 9y agoWhat are your adversarial concerns?