Подбор пользователей по рейтингу в очереди на подбор
Допустим, вы хотите создать очередь, в которую игроки присоединяются, где данные игроков выглядят примерно так:
{
playerID: 123,
name: "mr peanut",
ranking: 1337
}
Как лучше всего найти x похожих игроков в очереди, чтобы соответствовать?
То есть я пытаюсь найти всех игроков с рейтингом +/- 10, но их нет, поэтому я жду, тогда, если время в очереди достаточно велико, я изменяю на +/- 15, и так далее до предела.
Моя идея состояла бы в том, чтобы хранить данные об игроках в очереди, встроенной в Redis, и иметь рабочий процесс, постоянно сканирующий очередь в поисках совпадения. Но мне любопытно, есть ли некоторые лучшие практики, учебные пособия или общие идеи, которые вы можете мне помочь, чтобы у меня была лучшая идея.
Требования: он должен быть в состоянии масштабироваться и в идеале использовать небольшое количество накладных расходов, сканирование кажется на первый взгляд смешным и неэффективным, что заставляет меня думать, что redis может быть не лучшей идеей. Спасибо!