Size: a a a

Spring Framework and more

2019 June 27

H

Human in Spring Framework and more
Profyan99
Вот да, преждевременной оптимизацией страдаю. Но просто нет опыта, чтобы хоть как-то оценить, кейсов в интернете как-то тоже. Но и одновременно хочется по красоте делать, чтобы потом не переписывать все. (Хотя придется, кого я обманываю)
Архитектура в том числе подразумевает (если это нужно) писать код так, чтобы были открыты возможности легко добавлять какие-либо фишки, например улучшать производительность.
источник

P

Profyan99 in Spring Framework and more
Human
Скорее всего проблем действительно нет)
"Просто комната обновляться может не только из метода апдэйт"
По идее инкапсуляции - можно называть метод не update, а например то, что он реально делает к примеру changePlayersRating, и этот метод можно вызывать откуда угодно. Но можно сделать и в процедурном стиле, те использовать Комната просто как структуру данных без поведения
Просто если всегда с базы тянуть, то ты точно уверен, что у тебя актуальные данные. А вот если для шедулинга своя коллекция, которая каждый раз копируется, а для всего остального другая коллекция, тут уже возникает вопрос, а везде ли одно и то же и актуальной ли я щас информацией распоряжаюсь
источник

P

Profyan99 in Spring Framework and more
Human
Архитектура в том числе подразумевает (если это нужно) писать код так, чтобы были открыты возможности легко добавлять какие-либо фишки, например улучшать производительность.
Просто я вот от слова совсем не представляю, на что способна бд. Сколько запросов в секунду оптимально, как не нужно делать, чтобы самого себя не заддосить. Есть какие-то крайности, соглашусь, которые очевидны. Но вот этот кейс пока для меня в новизну и не очевиден)
источник

H

Human in Spring Framework and more
Profyan99
Просто если всегда с базы тянуть, то ты точно уверен, что у тебя актуальные данные. А вот если для шедулинга своя коллекция, которая каждый раз копируется, а для всего остального другая коллекция, тут уже возникает вопрос, а везде ли одно и то же и актуальной ли я щас информацией распоряжаюсь
Да, про это и пытался объяснить. Консистентность это понятие предметной области.
Что для вас актуальные данные в игре, а что нет? Важно ли вообще для пользователся прям максимально актуальные данные? И т.д.
источник

H

Human in Spring Framework and more
Profyan99
Просто я вот от слова совсем не представляю, на что способна бд. Сколько запросов в секунду оптимально, как не нужно делать, чтобы самого себя не заддосить. Есть какие-то крайности, соглашусь, которые очевидны. Но вот этот кейс пока для меня в новизну и не очевиден)
Ну есть куча книжек, статей, можо все это дело читать. Научится делать замеры, если есть проблемы с производительностью, искать "узкие места"
источник

P

Profyan99 in Spring Framework and more
Human
Да, про это и пытался объяснить. Консистентность это понятие предметной области.
Что для вас актуальные данные в игре, а что нет? Важно ли вообще для пользователся прям максимально актуальные данные? И т.д.
Т.е нужно разделить данные в одной модели на две группы: важные и не совсем важные и для каждой из групп свой кэш/метод сохранения юзать?
источник

P

Profyan99 in Spring Framework and more
Human
Ну есть куча книжек, статей, можо все это дело читать. Научится делать замеры, если есть проблемы с производительностью, искать "узкие места"
Замеры всегда можно, да. Но хотелось бы на этапе проектирования это все учесть) ( да и без опыта хаха )
источник

H

Human in Spring Framework and more
Profyan99
Т.е нужно разделить данные в одной модели на две группы: важные и не совсем важные и для каждой из групп свой кэш/метод сохранения юзать?
it depends, все зависит от вашего кейса - как надо сделать. Мб вообще кеш нельзя использовать, такие кейсы есть их не мало
источник

Д

Дмитрий in Spring Framework and more
Profyan99
Т.е нужно разделить данные в одной модели на две группы: важные и не совсем важные и для каждой из групп свой кэш/метод сохранения юзать?
Примерно да, так. Если игрок нашел крутой меч и засейвился или прошел квест то это важно, если он увидит что онлайн игроков 10 а их на самом деле 9 или 12 то пофиг
источник

P

Profyan99 in Spring Framework and more
Human
it depends, все зависит от вашего кейса - как надо сделать. Мб вообще кеш нельзя использовать, такие кейсы есть их не мало
Хорошо. В целом спасибо за информацию про кэш и архитектуру. Покопаю завтра в эту сторону
источник

Д

Дмитрий in Spring Framework and more
Поэтому я сказал про механику
источник

P

Profyan99 in Spring Framework and more
Дмитрий
Поэтому я сказал про механику
Теперь понятно, к чему вопрос был) но ежесекундные апдейты не убрать
источник

Д

Дмитрий in Spring Framework and more
Чтобы понимать что важно а чем пренебречь
источник

Д

Дмитрий in Spring Framework and more
Profyan99
Теперь понятно, к чему вопрос был) но ежесекундные апдейты не убрать
Сколько серверов могут апдейтить одну и ту же комнату?
источник

P

Profyan99 in Spring Framework and more
Дмитрий
Сколько серверов могут апдейтить одну и ту же комнату?
Я думаю, что один.  До многосерверной реализации мне ещё далеко и не факт что будет, но это же классно с самого начала иметь возможность для расширения
источник

Д

Дмитрий in Spring Framework and more
Т.е. он же и читает бд?
источник

P

Profyan99 in Spring Framework and more
Дмитрий
Т.е. он же и читает бд?
Ну да
источник

H

Human in Spring Framework and more
Profyan99
Я думаю, что один.  До многосерверной реализации мне ещё далеко и не факт что будет, но это же классно с самого начала иметь возможность для расширения
Есть же еще разные способы расширяться, например вертикально - те какой то сабсет комнат будет наопределенном сервере, а другой сабсет на другом. Ну это так, тоже от кейса зависит стоит ли это делать.
источник

Д

Дмитрий in Spring Framework and more
Ну а если добавить серверов у вас будет 3 писать и читать? Чревато болью...
источник

P

Profyan99 in Spring Framework and more
Human
Есть же еще разные способы расширяться, например вертикально - те какой то сабсет комнат будет наопределенном сервере, а другой сабсет на другом. Ну это так, тоже от кейса зависит стоит ли это делать.
Да, конечно. Но вертикально не бесконечно можно расти) у меня в голове картина очереди сообщений. Есть n нод, каждая из очереди берет комнату, апдейтит ее
источник