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

Всем привет. Подскажите как сделать высокопроизводительный Rest API (>10000 rps)

на Springboot? Читать и писать из/в бд

35 ответов

25 просмотров

сначала можно найти кто не тянет эту нагрузку в цепочке веб - парсинг - процессинг - БД и оптимизировать этот компонент

Если дело в бд - не пиши в бд

сделай сначала на 1 тпс, а потом масштабируй

Andy- Автор вопроса
Alexander Komarov
сделай сначала на 1 тпс, а потом масштабируй

А как? Смутно представляю, что можно в докер и потом в кубернетес засунуть несколько инстансов.

Andy
А как? Смутно представляю, что можно в докер и пот...

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

Andy- Автор вопроса
Alexander Komarov
слушай, это пет проект или боевой? если боевой - л...

Это домашка к собеседованию. Я уже написал все, но как масштабировать не знаю, тк не сталкивался

Andy
Это домашка к собеседованию. Я уже написал все, но...

на кого собес? проектировать апи на 10к рпс это уже сеньор. от миддла я бы максимум что-то такое примерное набросать требовал. ну да, кеш использовать, в бд писать батчами. шардировать базу и вот это все.

Andy
На мидла

ну и набросай примерную картинку. никто миддла не будет сильно докапывать арихтектурой. его дело код писать, чтобы не совсем говно было. а архитектуру ему обычно сверху спускают.

Aleksey Fomichev
А джунам тогда что делать?

баги, тесты и что попроще из задачек

Andy- Автор вопроса
Alexander Komarov
ну и набросай примерную картинку. никто миддла не ...

Так что говорить? Кеш, батч и шрадирование?

Andy
Так что говорить? Кеш, батч и шрадирование?

да хз, зависит от, вводных немного. можно всех игроков и все партии в одну базу засунуть. если там есть хорошее разделение по какому-то признаку (территория, уровень игроков, еще что-то) то можно шардировать. сделай самую простую картинку, типа балансировщик -> несколько инстансов апишки -> система хранения данных (кэш + база)

Andy
Это домашка к собеседованию. Я уже написал все, но...

Ну реактивный веб в Спринге точно потянет 10к. А состояние игры можно хоть в редисе хранить

24/7 🎸
Ну реактивный веб в Спринге точно потянет 10к. А с...

К тому же так можно и базу положить. Реактивщина спасает от нагрузки сам сервис, но не базу. В случае больше нагрузки - шарды. А если писать через кеш (не пробовал так делать) реактивно, то тогда может быть )

Aleksey Fomichev
К тому же так можно и базу положить. Реактивщина с...

У Редиски скорость вполне себе. Там можно все и хранить, все состояния

Aleksey Fomichev
А если память тютю?

А куда там память расходовать?) доска, ходы?

24/7 🎸
А куда там память расходовать?) доска, ходы?

Траффик вырос, мульон пользователей зашло

24/7 🎸
Ну зашло) и что?))

Память кончилась

Aleksey Fomichev
Память кончилась

640к должно хватить всем :))

24/7 🎸
640к должно хватить всем :))

Не предусмотреть вариант что она кончится очень опрометчиво

Надо копать вглубь твою задачу По либам Бери aerospike для бд или redis или тарантул. Sql брать только если ну никак без него. Sql всегда медленнее из за acid заложенного в движок. По http бери rapidoid или vert.x

Ig
Надо копать вглубь твою задачу По либам Бери aeros...

- Как сделать высоконагруженный сервис на Спринге? - Легко, делай на вертексе)

Ig
Надо копать вглубь твою задачу По либам Бери aeros...

Простите, оффтопик: часто сейчас тарантул не в мейловых проектах встречается?

Александр Беляев
Простите, оффтопик: часто сейчас тарантул не в мей...

Я его тестил Он показался хорош Но в нем в 16 году не было норм шардинга

Ig
Я его тестил Он показался хорош Но в нем в 16 году...

Любопытно... У меня в голове это всё ещё очень локальный мейловый проект

Вполне

в вертикcе есть поддержка rx java

реактивные стримы же

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта