Разделяют ли память отдельные функции в приложении Node.js Azure Functions? - PullRequest
0 голосов
/ 16 октября 2019

В качестве примера предположим, что приложение Azure Functions содержит общий модуль, который предоставляет глобальный пул соединений для какого-либо ресурса:

// connection-pool.js
const pool = /* initialize pool ... */

exports.getPool = () => pool

и две функции в приложении FunctionsApp, которые используют общее соединениемодуль пула:

// fn1/index.js
const pool = require('../connection-pool').getPool()

module.exports = async function (ctx, req) {
  // Do something...
}
// fn2/index.js
const pool = require('../connection-pool').getPool()

module.exports = async function (ctx, req) {
  // Do something...
}

Существуют ли 1 или 2 пула в одном экземпляре приложения функций во время выполнения?

1 Ответ

0 голосов
/ 21 октября 2019

Рабочий для языка запускается вместе с хостом в каждом экземпляре, и в одном и том же экземпляре загруженные модули находятся в одном и том же пространстве памяти.

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

...