У меня есть скрипт node.js, который часто отправляет данные на сервер node.js. Сейчас клиент использует модуль node.js request
для отправки пост-запроса, а сервер обрабатывает запрос через http-сервер.
клиент:
const request = require('request');
// some iteration over time for sending event
request.post('http://localhost:8080/event',
{ json: true, body: body },
(err, res, body) => {
callback(err)
})
Сервер:
const http = require('http')
const server = http.createServer(function(req, res) {
let body = []
req.on('data', body.push.bind(body))
req.on('end', () => {
console.log(Buffer.concat(body).toString())
res.end()
})
})
Я хочу минимизировать использование полосы пропускания и задержку.
Вот мои мысли:
Я думал использовать http / 2, так как он может иметь лучшую производительность (не уверен, только из некоторых исследований), но он все еще экспериментален в node.js.
прямо сейчас он использует http, изменит ли websocket в этом случае, так как сокет может отправлять данные по одному соединению без постоянной отправки заголовков.
Какой будет наилучший подход для минимизации задержки и использования полосы пропускания?
Примечание: я не собираюсь использовать какой-либо сторонний поставщик услуг для этого (хочу улучшить с точки зрения кодирования).