Как алгоритм Tinder продолжает быстро находить пользователей

Я разрабатываю онлайн-сервис, совсем не похожий на Tinder, однако их алгоритм поможет мне понять, как правильно масштабировать.

Я предполагаю, что каждый из их пользователей имеет skipped множество пользователей, которые были посещены ранее. Я не знаю точно, что они используют, это не может быть redis но есть эта страница, которая как бы объясняет реализацию в redis (не обязательно, но информативно).

Я предполагаю, что пользователь выбран случайным образом из usersзапрошенный с сервера (допустим, нас не заботит возраст, пол и т. д.) только люди из вашего местоположения. И затем они проверяют, есть ли этот пользователь в skipped задавать.

Теперь, что происходит, если кто-то вручную или запускает бота, чтобы пропустить каждого отдельного пользователя. Разве этот процесс не начинает отставать как размер skipped приближается к размеру users, Достаточно скоро каждая проверка будет уже skipped и он попадет в цикл, просто проверяя нового случайного пользователя каждый раз, и все будут замечены.

Как они поддерживают этот процесс быстро? Там должно быть нечто большее, чем просто ограничение на сколько skipped люди, которые у вас есть, потому что, возможно, вы пропустите много людей, которые никогда не возвращаются онлайн и ваши skipped больше по размеру, чем количество людей из users,

0 ответов

Другие вопросы по тегам