Повертаючись до метчингу між кількома мільйонами користувачів.
Питання у тому що треба баланс знайти між: 1. Витратами на розробку 2. Витратами на підтримку 3. Зручністю підтримки (щоб не плювалися від костилів на кожному кроці) 4. Безпекою коду і бази даних. 5. Швидкодією (щоб на фронті відчутних для середньостатистичного користувача лагів не спостерігалося).
Так тебе не надо матчинг с миллионами. Тебе надо отсечь до нескольки тысяч, по радиусу нахождения к примеру. А потом уже сложные алгоритмы ранжирования запускать. Ну мне так кажется во всяком случае
Послушайте подскаст от dou с CTO preply. Они начали с лендинга развивать свой продукт. А у вас похоже планы как вы будете строить архитектуры с 500 миллионом пользователей