Comments 16
Это не микросервисы, это распределенный монолит. Если shortener нужны данные по статистике для работы, то они и должны хранится/обрабатываться в нем же.
Но вообще вся затея с топом кеша не имеет смысла и скорее всего вредит. Например, был супер популярный ресурс, который за 2 дня насобирал миллионы просмотров, но потом стал не актуален. Зачем нам хранить ссылку на этот ресурс постоянно?
Вы правы, с академической точки зрения это больше похоже на распределенный монолит. Моя идея заключалась в том, чтобы попробовать потыкать и собрать всю эту связку, поэтому насчет целесообразности моей системы в продакшене действительно есть вопросы.
Про популярный ресурс. Мы же не будем всегда хранить в кэше эту ссылку. Топ составляется не по абсолютной популярности, а по популярности за последний час (время конфигурируется), и сами записи в кэше имеют ttl.
LFU на уровне valkey не приведут к тому же самому?
Моя тактика заключалась в том, чтобы не заостряться на бизнес‑логике ради изучения инфраструктуры.
наоборот, интереснее как это монетизировать
Бесплатный пользователь:
→ кликает по ссылке
→ видит 3-секундную рекламу, переходит по ссылке
→ или видит баннер внедренный на страницу
Премиум-пользователь:
→ кликает
→ мгновенный редирект
→ кастомная ссылка
→ полная статистика
Компания:
→ покупает домен go.ихсайт.com
→ интегрирует с API
→ платит $50/мес
Вы:
→ собираете агрегированные данные
→ продаёте отчёт "Тренды в Telegram-трафике"
Чем бы дитя не решилось. Случайно не с курсов яндекс.практикум?) Один из учебных проектов - шортенер. Но думаю там менторы не оценили бы на столько безумный оверинжиниринг.
Отличная архитектура и цели - посмотреть как применяются технологии, я вижу Вы добились. Так держать!
Ох, в реальной жизни там конечно много граблей, поэтому без нагрузочных тестов это такое себе
Как я раздул из гофера слона или история распределенного сократителя ссылок