У меня есть поток от Db, и я сплюываю его на многие HTTP-серверы через HTTP (запрос).Чтобы разделить этот поток, я использую passThrough
Все работает хорошо, но когда вызывается событие, я не знаю, какой поток его генерирует.Есть ли решение для идентификации этого потока?Я использую события error, end, data и response.В ответ у меня есть информация о хосте, но самое главное, чтобы идентифицировать ее в ошибке eventListener.
const stream = await getDataStream(id);
const passThrough = new PassThrough();
stream.pipe(objectToString).pipe(passThrough);
for (let host of hostsList) {
startedRequestsCount++;
host.stream
.on('error', errorHandler)
.on('data', dataHandler)
.on('response', responseHandler)
.on('end', resolveAfterAllRequests);
passThrough.pipe(host.stream);
}
У меня много сомнений по поводу этого решения, но пока оно работает.Проблема возникает, когда я получаю сообщение об ошибке и хочу узнать, какой хост вышел из строя.
Бонусный вопрос :
Если я транслирую через HTTP, могу ли я решить проблему с обратным давлением