Эта статья написана CTO Red Hat Mobile для менеджеров а не программистов и размещена на ресурсе для IT менеджеров. Да, тут нету четких цифр, но если бы я хотел внедрить у себя ноду, я бы своему шефу показал эту статью.
выбрать подходящий npm пакет из сотни одинаково недоделанных — та ещё задачка
Автор ставнивает nodejs с перлом. выбрать подходящий пекет на Perl/PHP/… та же самая задача. Или вы хотите сказать что в других языках все намного лучше? Тогда приведите пример, а то звучит как тоже «бла-бла-бла» про которое вы пишите.
Я могу понять когда сервис жрет память и не отдает (от чего кстати хорошо помогают лимиты по использованию памяти в pm2), но от чего сервис может становиться более медленным с течением времени — непонятно. Так или иначе, выше уже упомянули про graceful reload.
Если даже код идеален, сервис теряет приоритет для операционной системы и начинает работать медленее и это есть проблема. В nginx, например, можно задать принудительно приоритет для процесса параметром worker_priority.
И да, перезагружать весь инстанс довольно странно, если есть кластер-модуль и можно, грубо говоря, послать SIGTERM медленному воркеру.
Вы невнимательно читали, можно использовать модуль cluster, и я об этом написал. Это менее стабильное решение чем балансировщик nginx или ha-proxy. Я не могу понять чем так плохо раз в сутки ребутнуть инстанс ноды?
По пункту 10 — чот вообще вcё в кучу смешалось. Да, мониторинг нужен. Да, юнит-тестирование нужно. Но из пункта сложилось впечатление, что вы предлагаете использовать mocha/jasmine на продакшене для проверки окружения о.0 Это довольно странный способ использования этих фреймворков.
Не совсем так, я не нашел время чтоб расписать, это будет в следующих сериях. В каждом проекте, есть папочка ./spec, там лежат тесты, и да перед тем как на продакшине запустить приложение после апдейта именно на продакшине надо запустить npm test и убедиться что все работает.
Если Вы сервис создали сами «с-нуля» (как я в примере), то после апгрейда ему ничего не будет. Если модифициворали существующий, то точно затрет, ну тогда вы дали правильную ссылку.
> IOPS со временем отклика 0,2 – 0,8 миллисекунды и пропускную способностью до 75 Мбит/сек
Что тут не так, антиреклама, обычный SATA-винт побыстрее будет. :)
«Гроссмейстер вошел в зал. Он чувствовал себя бодрым и твердо знал, что первый ход e2—e4 не грозит ему никакими осложнениями. Остальные ходы, правда, рисовались в совершенном уже тумане, но это нисколько не смущало великого комбинатора. У него был приготовлен совершенно неожиданный выход для спасения даже самой безнадежной партии.»
Если ориентироваться на прикладные языки и делать упор на алгоритмизацию, то Pascal.
Это «каменный век», я его учил еще в конце 80-х. Тогда это было «свежо». Ребенок хочет видеть результат немедленно, строчку в консоли браузера написал colsole.log(2+2), запустил — сработало — сын счастлив, можно и друганам в школе в браузере показать.
Конечно, не все модели с андроидом.
Да тут указан лимит «с запасом», а в чем проблема увеличения этого лимита?
Автор ставнивает nodejs с перлом. выбрать подходящий пекет на Perl/PHP/… та же самая задача. Или вы хотите сказать что в других языках все намного лучше? Тогда приведите пример, а то звучит как тоже «бла-бла-бла» про которое вы пишите.
У нас проект среднего размера. Мы обслуживаем чуть более полмиллиона пользователей в день. На нагруженых сервисах в пики бывает до 200 req/sec.
Поддерживаем и старое и новое API и плавно все сервисы перетекают на новое.
Если даже код идеален, сервис теряет приоритет для операционной системы и начинает работать медленее и это есть проблема. В nginx, например, можно задать принудительно приоритет для процесса параметром worker_priority.
Вы невнимательно читали, можно использовать модуль cluster, и я об этом написал. Это менее стабильное решение чем балансировщик nginx или ha-proxy. Я не могу понять чем так плохо раз в сутки ребутнуть инстанс ноды?
Не совсем так, я не нашел время чтоб расписать, это будет в следующих сериях. В каждом проекте, есть папочка ./spec, там лежат тесты, и да перед тем как на продакшине запустить приложение после апдейта именно на продакшине надо запустить npm test и убедиться что все работает.
Что тут не так, антиреклама, обычный SATA-винт побыстрее будет. :)
© Ильф и Петров, «12 стульев»
Это «каменный век», я его учил еще в конце 80-х. Тогда это было «свежо». Ребенок хочет видеть результат немедленно, строчку в консоли браузера написал colsole.log(2+2), запустил — сработало — сын счастлив, можно и друганам в школе в браузере показать.
То JavaScript
Да чего там, Ассемблер мне кажется тут уместнее.