Если у меня есть клиент, который может отправлять запрос в облачную функцию http Google несколько раз за относительно короткий промежуток времени, как я могу использовать keep-alive? Достаточно ли, чтобы клиент отправил заголовок keep-alive соединения?
Я видел это в Google Docs:
https://cloud.google.com/functions/docs/bestpractices/networking
const http = require('http');
const agent = new http.Agent({keepAlive: true});
/**
* HTTP Cloud Function that caches an HTTP agent to pool HTTP connections.
*
* @param {Object} req Cloud Function request context.
* @param {Object} res Cloud Function response context.
*/
exports.connectionPooling = (req, res) => {
req = http.request(
{
host: '',
port: 80,
path: '',
method: 'GET',
agent: agent,
},
resInner => {
let rawData = '';
resInner.setEncoding('utf8');
resInner.on('data', chunk => {
rawData += chunk;
});
resInner.on('end', () => {
res.status(200).send(`Data: ${rawData}`);
});
}
);
req.on('error', e => {
res.status(500).send(`Error: ${e.message}`);
});
req.end();
};
Но это относится только к отправке исходящих запросов из облачной функции, верно?
Здесь также было что-то глобальное (на уровне экземпляра):
https://cloud.google.com/functions/docs/bestpractices/tips
Что мне нужно сделать, чтобы повторно использовать соединения по запросам, отправленным конечным пользователем?