У меня есть Android-клиент, который занимается товарами, и я хотел бы создать интерфейс для отображения самых популярных программ в любой момент времени.
Я прочитал и использовал счетчики осколков для достижения высокой масштабируемости и параллельного подсчета. Это работает хорошо, когда дело касается подсчета.
Однако проблема начинается, когда приходит время вычислять 10 самых популярных позиций продукта для одного запроса. Сначала мне нужно выбрать все элементы продукта, получить счетчики осколков каждого из них, добавить их, а затем, наконец, сортируйте их, чтобы получить самые популярные из них.
Проблема здесь в том, что для того, чтобы выяснить, что является самым популярным, мне нужно пересчитать все счетчики осколков. Умножьте это на 10000 наименований товаров, и мой запрос на одного пользователя станет чертовски медленным.
Я подумал об идее использования задания cron для вычисления результата и его сохранения. Вы бы порекомендовали мне пойти по этому пути? Кто-нибудь еще сталкивался с подобной ситуацией?
Спасибо!