All streams
Search
Write a publication
Pull to refresh
112
0
Дмитрий Думанский @doom369

Гребец и на дуде игрец

Send message
Дослушал, 4-й пункт можно вычеркнуть :).
Спасибо. Интересный доклад. Несколько комментариев:

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$ то ли за сервер то ли ядро.
А цены на вертику такие же космические как и были когда-то? Сколько она сейчас стоит?
Файл остался незакрытым.

Код выше закрывает файл. Даже если Вы этого не увидели.

как уже обсуждали: джава не даст нормального fault tolerance.

Это что-то новенькое.

При любом эксепшне надо очень аккуратно следить за закрытием ресурсов.


try (Connection c : openConnection()) {
}

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity