169 похожих чатов

Привет, на работе поручили написать некий сервис, который будет общаться

по 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 записей в секунду.

В общем, дайте пожалуйста совет, может статьи, ютуб, технологии, как встраивать такую систему на приведенном выше стеке? а может и стек дополнить надо кликхаусом там, например я хз

2 ответов

28 просмотров

историю можно писать в более быстрое и подходящее хранилище

Александр-Панков Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта