на Springboot? Читать и писать из/в бд
сначала можно найти кто не тянет эту нагрузку в цепочке веб - парсинг - процессинг - БД и оптимизировать этот компонент
Если дело в бд - не пиши в бд
сделай сначала на 1 тпс, а потом масштабируй
А как? Смутно представляю, что можно в докер и потом в кубернетес засунуть несколько инстансов.
слушай, это пет проект или боевой? если боевой - лучше сразу иди к менеджеру и говори что ты его не потянешь, нужен нормальный проектировщик
Это домашка к собеседованию. Я уже написал все, но как масштабировать не знаю, тк не сталкивался
на кого собес? проектировать апи на 10к рпс это уже сеньор. от миддла я бы максимум что-то такое примерное набросать требовал. ну да, кеш использовать, в бд писать батчами. шардировать базу и вот это все.
ну и набросай примерную картинку. никто миддла не будет сильно докапывать арихтектурой. его дело код писать, чтобы не совсем говно было. а архитектуру ему обычно сверху спускают.
А джунам тогда что делать?
тесты писать
баги, тесты и что попроще из задачек
Так что говорить? Кеш, батч и шрадирование?
да хз, зависит от, вводных немного. можно всех игроков и все партии в одну базу засунуть. если там есть хорошее разделение по какому-то признаку (территория, уровень игроков, еще что-то) то можно шардировать. сделай самую простую картинку, типа балансировщик -> несколько инстансов апишки -> система хранения данных (кэш + база)
Ну реактивный веб в Спринге точно потянет 10к. А состояние игры можно хоть в редисе хранить
К тому же так можно и базу положить. Реактивщина спасает от нагрузки сам сервис, но не базу. В случае больше нагрузки - шарды. А если писать через кеш (не пробовал так делать) реактивно, то тогда может быть )
У Редиски скорость вполне себе. Там можно все и хранить, все состояния
А если память тютю?
А куда там память расходовать?) доска, ходы?
Траффик вырос, мульон пользователей зашло
Ну зашло) и что?))
Память кончилась
640к должно хватить всем :))
Не предусмотреть вариант что она кончится очень опрометчиво
Надо копать вглубь твою задачу По либам Бери aerospike для бд или redis или тарантул. Sql брать только если ну никак без него. Sql всегда медленнее из за acid заложенного в движок. По http бери rapidoid или vert.x
- Как сделать высоконагруженный сервис на Спринге? - Легко, делай на вертексе)
Простите, оффтопик: часто сейчас тарантул не в мейловых проектах встречается?
Я его тестил Он показался хорош Но в нем в 16 году не было норм шардинга
Любопытно... У меня в голове это всё ещё очень локальный мейловый проект
Он хорош весьма по цифрам. Очень хорош
Вполне
в вертикcе есть поддержка rx java
реактивные стримы же
Обсуждают сегодня