Я пытаюсь сделать мое монолитное приложение c записанным в узле, а express - в приложение микросервиса в узле, игле (для связи между микросервисами) и express. Моя архитектура выглядит следующим образом:
- У меня есть микросервис с именем gateway_service для обработки всех запросов от интерфейса пользователя
- У меня есть другой микросервис с именем users_service для обработки запросов, связанных с пользователями, использует users_service локальная стратегия passport для управления сессиями, и этот идентификатор сеанса отправляется как повар ie по паспорту
Когда я пытаюсь изменить свое приложение на микросервис, я делаю следующее
- Всякий раз, когда я получаю запрос от моего клиента, скажем, почтальон в gateway_service, я вижу, как повар ie проходит через заголовок, и я могу передать его user_service, установив опцию заголовков, как указано в игле.
- Как отправить повара ie, который я получаю от user_service, почтальону обратно, чтобы он мог сохранить повара ie (в случае первого попадания) ??
Я добавить небольшой фрагмент кода, надеясь, что это поможет? Я делаю это правильно ?? когда я делаю, как показано ниже, я получаю сообщение об ошибке «Невозможно установить заголовки после их отправки клиенту»
function (req, res, next) {
var options = {
headers: req.headers,
parse_cookies:true
}
needle.post(url + "login", req.body, options, function (error, response, body) {
if (!error) {
res.writeHead(response.statusCode,response.headers);
res.send(body)
console.log(res);
next();
} else {
console.log("error in info from users micro service");
res.send(error);
next();
}
});
},