по 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 записей в секунду.
                  
                  
                  
                  
                  
                  В общем, дайте пожалуйста совет, может статьи, ютуб, технологии, как встраивать такую систему на приведенном выше стеке? а может и стек дополнить надо кликхаусом там, например я хз
                  
                  
                
историю можно писать в более быстрое и подходящее хранилище
для этих целей лучше кликхаус брать?
Обсуждают сегодня