Skip to content

Latest commit

 

History

History
16 lines (12 loc) · 3.65 KB

productioncode.russian.md

File metadata and controls

16 lines (12 loc) · 3.65 KB

Делайте ваш код готовым к работе



Объяснение в один абзац

Ниже приведен список советов по разработке, которые сильно влияют на обслуживание и стабильность производства:

  • Руководство по двенадцати факторам - ознакомьтесь с руководством Twelve factors
  • Будьте вне сохранения состояния - не сохраняйте данные локально на определенном веб-сервере (см. отдельную рекомендацию - "Будьте без сохранения")
  • Кэш - интенсивно используйте кэш, но никогда не выходите из строя из-за несоответствия кеша
  • Проверка памяти - измеряйте использование памяти и утечки как часть процесса разработки, такие инструменты, как "memwatch", могут значительно облегчить эту задачу
  • Имя функции - Минимизируйте использование анонимных функций (т.е. встроенный обратный вызов), поскольку типичный профилировщик памяти обеспечит использование памяти для имени метода
  • Используйте инструменты CI - используйте инструмент CI для обнаружения сбоев перед отправкой в ​​производство. Например, используйте ESLint для обнаружения ошибок ссылок и неопределенных переменных. Используйте –trace-sync-io для определения кода, который использует синхронные API (вместо асинхронной версии)
  • Разумно логируйте - включайте в каждый оператор журнала контекстную информацию, возможно, в формате JSON, чтобы средства агрегирования журналов, такие как Elastic, могли осуществлять поиск по этим свойствам (см. отдельную рекомендацию - "Увеличьте видимость с помощью умных журналов"). Кроме того, включите идентификатор транзакции, который идентифицирует каждый запрос и позволяет сопоставить строки, описывающие одну и ту же транзакцию (см. отдельную рекомендацию - "Включить идентификатор транзакции")
  • Управление ошибками - обработка ошибок - это ахиллесова пята реальных сайтов Node.js - многие процессы Node завершаются сбоем из-за незначительных ошибок, в то время как другие зависают в аварийном состоянии вместо сбоя. Настройка вашей стратегии обработки ошибок является абсолютно критической, прочитайте здесь мои error handling best practices