Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Node.js: различия между версиями

Материал из Документация АппОптима
Нет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
'''''[[Поддержка технологий]] / Node.js'''''
Node.js - это серверный фреймворк, основанный на движке JavaScript V8 от Google. Node.js имеет асинхронную модель выполнения и часто используется для склейки или в качестве уровня прокси в корпоративных средах.
Node.js - это серверный фреймворк, основанный на движке JavaScript V8 от Google. Node.js имеет асинхронную модель выполнения и часто используется для склейки или в качестве уровня прокси в корпоративных средах.


== Возможности            ==
== Возможности            ==
Ключ-Астром предоставляет обширные возможности мониторинга Node.js:
АппОптима предоставляет обширные возможности мониторинга Node.js:
* Куча и метрики процесса
* Куча и метрики процесса
* Heap dumps
* Heap dumps
Строка 20: Строка 22:
Каждый раз, когда выпускается новая основная версия Node.js (четная или нечетная), мы добавляем поддержку этой версии.
Каждый раз, когда выпускается новая основная версия Node.js (четная или нечетная), мы добавляем поддержку этой версии.


Ключ-Астром будет следовать этой модели поддержки, но будет поддерживать каждую версию Node.js как минимум на полгода дольше, чтобы у наших клиентов было время для обновлений.
АппОптима будет следовать этой модели поддержки, но будет поддерживать каждую версию Node.js как минимум на полгода дольше, чтобы у наших клиентов было время для обновлений.
{| class="wikitable"
{| class="wikitable"
!Node.js version
!Node.js version
Строка 27: Строка 29:
!Первая поддерживаемая версия ЕдиногоАгена
!Первая поддерживаемая версия ЕдиногоАгена
!Последняя поддерживаемая версия ЕдиногоАгента
!Последняя поддерживаемая версия ЕдиногоАгента
!Поддержка Ключ-Астром до
!Поддержка АппОптима до
!Уровень поддержки Ключ-Астром
!Уровень поддержки АппОптима
|-
|-
|18
|18
Строка 120: Строка 122:
<sup>1</sup> Новые функции Node.js 18, помеченные как «экспериментальные», не поддерживаются.
<sup>1</sup> Новые функции Node.js 18, помеченные как «экспериментальные», не поддерживаются.


<sup>2</sup> Ограниченная поддержка: Ключ-Астром может решать только те проблемы, которые можно воспроизвести в поддерживаемых версиях.
<sup>2</sup> Ограниченная поддержка: АппОптима может решать только те проблемы, которые можно воспроизвести в поддерживаемых версиях.


== Известные ограничения            ==
== Известные ограничения            ==


*Из-за ограничений платформы JavaScript и Node.js видимость на уровне кода ограничена по сравнению с .NET или Java.
*Из-за ограничений платформы JavaScript и Node.js видимость на уровне кода ограничена по сравнению с .NET или Java.
*В сочетании с неподдерживаемыми сторонними модулями контекст может быть потерян в асинхронных обратных вызовах. В таких случаях свяжитесь со специалистом по продуктам Ключ-Астром ONE, нажав кнопку чата в правом верхнем углу строки меню Ключ-Астром.
*В сочетании с неподдерживаемыми сторонними модулями контекст может быть потерян в асинхронных обратных вызовах. В таких случаях свяжитесь со специалистом по продуктам АппОптима ONE, нажав кнопку чата в правом верхнем углу строки меню АппОптима.
*Использование модуля esm NPM в варианте 1 для пакетов может привести к снижению видимости (особенно если используется для основного сценария приложения). Предпочтительно использовать вариант 2 для предварительной загрузки esm с помощью параметра командной строки -r.
*Использование модуля esm NPM в варианте 1 для пакетов может привести к снижению видимости (особенно если используется для основного сценария приложения). Предпочтительно использовать вариант 2 для предварительной загрузки esm с помощью параметра командной строки -r.
*В настоящее время существует только ограниченная поддержка модулей ECMAScript (также известных как «модули ES6»):
*В настоящее время существует только ограниченная поддержка модулей ECMAScript (также известных как «модули ES6»):

Текущая версия от 12:45, 8 ноября 2024

Поддержка технологий / Node.js

Node.js - это серверный фреймворк, основанный на движке JavaScript V8 от Google. Node.js имеет асинхронную модель выполнения и часто используется для склейки или в качестве уровня прокси в корпоративных средах.

Возможности

АппОптима предоставляет обширные возможности мониторинга Node.js:

  • Куча и метрики процесса
  • Heap dumps
  • Выборка процессора (см. Известные ограничения)
  • Показатели цикла событий
  • Анализ входящих и исходящих HTTP-вызовов
  • Выделенная поддержка для множества баз данных (включая захват запросов)
  • Захват следов OpenTelemetry
  • ЕдиныйАгент SDK для пользовательской трассировки

См. Нашу матрицу поддерживаемых технологий для получения подробной информации о поддерживаемых технологиях, которые будут использоваться вместе с Node.js.

Поддержка и отказ от поддержки

Node.js следует модели выпуска LTS.

Каждая версия с нечетным номером достигает EOL вскоре после выпуска каждой новой версии с четным номером. Каждая четная версия в конечном итоге становится LTS-выпуском. Для корпоративных производственных сред мы рекомендуем придерживаться выпусков LTS.

Каждый раз, когда выпускается новая основная версия Node.js (четная или нечетная), мы добавляем поддержку этой версии.

АппОптима будет следовать этой модели поддержки, но будет поддерживать каждую версию Node.js как минимум на полгода дольше, чтобы у наших клиентов было время для обновлений.

Node.js version Выпущено вендором Конец поддержки вендором Первая поддерживаемая версия ЕдиногоАгена Последняя поддерживаемая версия ЕдиногоАгента Поддержка АппОптима до Уровень поддержки АппОптима
18 2022-04-19 2025-04-30 1.243 - 2026-04-30 Поддерживается1
17 2021-10-19 2022-06-01 1.235 - 2022-12-01 Поддерживается
16 2021-04-20 2024-04-30 1.219 - 2025-04-30 Поддерживается
15 2020-10-20 2021-06-01 1.207 1.233 2021-12-01 Не поддерживается
14 2020-04-21 2023-04-30 1.195 - 2024-04-30 Поддерживается
13 2019-10-22 2020-06-01 1.183 1.205 2020-12-01 Не поддерживается
12 2019-04-23 2022-04-30 1.171 - 2023-04-30 Поддерживается
11 2018-10-23 2019-06-30 1.159 1.181 2019-12-31 Не поддерживается
10 2015-04-24 2021-04-30 1.147 - 2022-04-30 Ограничено2
9 2017-10-01 2018-06-30 - 1.157 2018-12-31 Не поддерживается
8 2017-05-30 2019-12-31 - 1.239 2020-12-31 Не поддерживается

1 Новые функции Node.js 18, помеченные как «экспериментальные», не поддерживаются.

2 Ограниченная поддержка: АппОптима может решать только те проблемы, которые можно воспроизвести в поддерживаемых версиях.

Известные ограничения

  • Из-за ограничений платформы JavaScript и Node.js видимость на уровне кода ограничена по сравнению с .NET или Java.
  • В сочетании с неподдерживаемыми сторонними модулями контекст может быть потерян в асинхронных обратных вызовах. В таких случаях свяжитесь со специалистом по продуктам АппОптима ONE, нажав кнопку чата в правом верхнем углу строки меню АппОптима.
  • Использование модуля esm NPM в варианте 1 для пакетов может привести к снижению видимости (особенно если используется для основного сценария приложения). Предпочтительно использовать вариант 2 для предварительной загрузки esm с помощью параметра командной строки -r.
  • В настоящее время существует только ограниченная поддержка модулей ECMAScript (также известных как «модули ES6»):
    • Если сам основной файл сценария представляет собой модуль ECMAScript, для внедрения ЕдиногоАгента в процесс Node.js требуется ЕдиныйАгент версии 1.219+ с включенной предварительной загрузкой агента.
    • Инструментарий модулей ECMAScript в настоящее время недоступен. Это ограничивает поддержку kafkajs, если определяемая пользователем точка входа для сенсора KafkaJs находится внутри модуля ECMAScript.
  • Webpack по умолчанию объединяет все модули в один файл. ЕдиныйАгент не может инструментировать связанные модули. Чтобы обойти это ограничение, все модули, которые должны быть инструментированы ЕдинымАгентом (такие как express, mongodb и pg), должны быть внешними в конфигурации веб-пакета. Подробнее см. в документации по внешним компонентам webpack.