Спасибо. Интересный доклад. Несколько комментариев:
1. Почему выбрали го? Все перечисленные проблемы — рефлект, словари, вебсокеты уже решены в джаве, например, просто бери и используй. Больше того — джава «по дефолту» быстрее го. Не холивара ради, бенчмарки есть в сети. Из доклада просто «офигел», узнав сколько времени ушло не на проект.
2. Джейсон можно заменить на бинарный формат. Меньше данных, быстрее паковать, по времени работы на день-два.
3. Оптимизировали ли математику? Есть много вариантов оптимизации через более легковесные функции.
4. В видео нету ответа на мои первые 3 вопроса.
Спасибо за статью. Хотелось бы больше технических деталей. Например, одна игра — это отдельный поток? Или отдельный процесс? Сколько игр может выдержать 1 сервер с 8-мю ядрами. Какой протокол используется, ну и так дальше.
По вебке — любую бесплатную вебку можно подлючить через вебхуки в Blynk. На локальном сервере можно даже убрать лимит в 1 вебхук в секунду на 1 пин (если надо чаще).
И JIT конечно тоже все геттеры инлайнит и оптимизирует
Не все. А только те, что вызываются достаточно часто. И только после сбора статистики (исключение — Андроид, там геттеры и сеттеры часто на этапе компиляции заменяют)
Да, так и есть. К слову — раньше я был типичным этерпрайз Java программистом. Пока не начал работать на себя (свой продукт). Только после этого ко мне пришло понимание, насколько весь этот бойлер код вокруг того, что я раньше делал — бессмысленен. Так что теперь я делаю все в 3 раза быстрее :).
в любом живом и развивающемся проекте количество багов и фича реквестов растет пропорционально размеру кодовой базы
Зависит от целей компании. Вообще есть такие штуки как стабилизационные спринты. Это когда ничего нового не добавляют, а банально фиксят накопленные баги. И для хороших продуктов это норма.
Мы же все, наверное, понимаем, что «проверял лично» — это хорошо, но мало.
Конечно, так же как и «все остальное под такой нагрузкой сосет».
Что значит «по перформансу уступает»?
Это значит, что в моем сценарии Ерланг мктт брокер показывал рельзультаты хуже чем ява мктт брокер. Дело было 2 года назад. Детали уже, конечно, не вспомнить.
связка netty+mqtt будет хот-релоадиться
Никак. Так же как и Ерланг это может не всегда. Вопрос скорее — а нужно ли это?
java ведь еще гораздо дороже с точки зрения саппорта
потому что все остальное под такой нагрузкой сосет,
Это было правдой лет 10-20 назад, когда эти телекомы создавались. Сейчас, например, Ерланг Mqtt брокер раза в 2 по перформансу уступает netty+mqtt на java. Проверял лично.
Мне не надо. Я просто когда-то смигрировал клиента с вертики на постгрес и сэкономил ему много денег. За что он меня отблагодарил. Вот мне интересно какие сейчас там цены. Тогда, если мне не изменяет память, цена была 5000$ то ли за сервер то ли ядро.
1. Почему выбрали го? Все перечисленные проблемы — рефлект, словари, вебсокеты уже решены в джаве, например, просто бери и используй. Больше того — джава «по дефолту» быстрее го. Не холивара ради, бенчмарки есть в сети. Из доклада просто «офигел», узнав сколько времени ушло не на проект.
2. Джейсон можно заменить на бинарный формат. Меньше данных, быстрее паковать, по времени работы на день-два.
3. Оптимизировали ли математику? Есть много вариантов оптимизации через более легковесные функции.
4. В видео нету ответа на мои первые 3 вопроса.
Не все. А только те, что вызываются достаточно часто. И только после сбора статистики (исключение — Андроид, там геттеры и сеттеры часто на этапе компиляции заменяют)
Зависит от целей компании. Вообще есть такие штуки как стабилизационные спринты. Это когда ничего нового не добавляют, а банально фиксят накопленные баги. И для хороших продуктов это норма.
Конечно, так же как и «все остальное под такой нагрузкой сосет».
Это значит, что в моем сценарии Ерланг мктт брокер показывал рельзультаты хуже чем ява мктт брокер. Дело было 2 года назад. Детали уже, конечно, не вспомнить.
Никак. Так же как и Ерланг это может не всегда. Вопрос скорее — а нужно ли это?
?
Это было правдой лет 10-20 назад, когда эти телекомы создавались. Сейчас, например, Ерланг Mqtt брокер раза в 2 по перформансу уступает netty+mqtt на java. Проверял лично.
Код выше закрывает файл. Даже если Вы этого не увидели.
Это что-то новенькое.