5 production story with Node.js problems. For every story, there are an issue, wrong solution for the issue, problem reason and best practice to avoid such problem.
AWS ▰ Распиливать монолиты на микросервисы Верю: ▰ Проблем нужно решать на правильном уровне ▰ Сложности в людях, а не технологиях ▰ Идеи и решения надо “продавать” Доклады: ▰ Spec driven development in Microservices ▰ Использовании TypeScript для Node.js приложений ▰ Best practices of Node.js use in production ▰ Testing in Node.js World Ссылки: GitHub Twitter Facebook 2
Linux + DevOps ▰ Protocols (HTTP, bin, WS) ▰ Utils (git, docker, etc) ▰ StackoverflowDD Требования к Node.js разработчику Soft ▰ English ▰ Мотивация учить технологии ▰ Умение работать в команде ▰ Адекватность 4
postinstall происходит установка и компиляция bin-ой части вашего приложения ▰ Компиляция и установка являются OS, node version, cpu architecture зависимыми ▰ [Лайфхак]: Стоит использовать optionalDependencies для OS- зависимых пакетов. 13
Loop ▰ Большое значение Event Loop Delay свидетельствует о плохой архитектуре кода Node.js приложения ▰ Для самоконтроля стоит использовать модуль blocked или его аналоги ▰ PM2 показывает Event Loop Delay из коробки 24
logger.info(`Server started on port ${settings.port} with pid ${process.pid}`); }); function stopHandler() { server.close(); process.exit(); } process.on("SIGTERM", stopHandler);
Сохраняйти id таймеров и интервалов ▻ Повести process.on для сигналов и exit ▰ Выключение ▻ Выключите все соединения ▻ Остановите все таймеры и интервалы ▻ Добавьте таймер, если остановка будет слишком долгой 37