по api с другим, более крупным сервисом и делать какую-то работу.
стек php8.2 + laravel10 + mysql + redis
Сказано что разрабатываю MVP, но есть определенные требования.
а именно спроектировать так, чтобы система держала обработку 1.000 пользователей.
Вообще суть сервиса такая: клиент заполняет какие-то данные, далее сервис раз в 3 минуты ползает куда-то, что-то проверяет, перезаписывает и сохранят историю, где, что и как он поменял.
все.
Так вот, я начал считать, и выяснил, что для 1000 пользователей мне понадобится обрабатывать 445 задач за 1 секунду.
Математика такая: 1000 пользователей у каждого по 80 "позиций", каждую из которых нужно раз в 3 минуты обрабатывать (1000 * 80) / (3 * 60) = 444.444, округляем и получаем 445 бизнес транзакций.
а каждая из такой транзакции включает ряд действий: сходи в текущую базу, данные забери оттуда, потом постучись в это апи, потом в другое, все обработай, отправь еще один удаленный запрос, сохрани себе результаты.
В поем понимании это хайлоад, не скталкивался с таким, прошу помощи, подскажите как мне встроить такой процесс, какие технологии и для чего использовать. Какие проблемы ожидать.
Я пока не приложу ума как писать в mysql 445+ данных в секунду, дак ведь еще и с индексами, мне оттуда читать данные надо будет, графики строить изредка.
Сейчас я на локалке запрограммировал бизнес-логику, поднял в докере редис, настроил очередь на работу с редисом (ларавел из коробки), поднял супервизор. Какие-то копеечные данных, которые "пушу" в очередь руками обрабатываются корректно, быстро, но это совсем не 445 в секунду, у меня оперативки столько нет на компе,..
Не могу понять что будет в боевом режиме и как это мониторить, прогнозировать?
Разделил базы на 2, первая для бизнес-моделей (для юзеров, их настроек) вторая для истории, как раз во вторую в максимальной нагрузке ожидается 445 записей в секунду.
В общем, дайте пожалуйста совет, может статьи, ютуб, технологии, как встраивать такую систему на приведенном выше стеке? а может и стек дополнить надо кликхаусом там, например я хз
историю можно писать в более быстрое и подходящее хранилище
для этих целей лучше кликхаус брать?
Обсуждают сегодня