Я пытаюсь найти лучший способ установить / получить уникальные идентификаторы для Node.js express HTTP-запросов для ведения журнала / отладки. Я не могу sh использовать стороннюю библиотеку в качестве промежуточного программного обеспечения для запросов пока . Это единственный микросервис /api/users
, который у меня есть на данный момент. Я мог иметь максимум до 6 микросервисов, которые будут использовать изначально установленный X-request-id
из другого микросервиса для регистрации.
Однако я не уверен, что это лучший способ сделать это? а если это правильный подход для production
? и есть ли какие-либо недостатки этого метода в архитектуре микросервиса?
Хотя мне пока не нужна сторонняя библиотека для этого. Буду ли я действительно нуждаться в этом и в каком масштабе я должен начать думать об этом?
// custom-headers.js
const uuidv4 = require('uuid/v4');
module.exports = (request, response, next) => {
const uuid = uuidv4();
request.headers['X-Request-Id'] = uuid;
// Send it to FE as a response header.
// So user can communicate this to BE dev
response.set({
'X-Request-Id': uuid
})
next();
};
// app.js
const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const logger = require('morgan');
const routes = require('./routes');
const middleWare = require('./middleware');
const app = express();
app.use(middleWare.allowCors)
app.use(middleWare.customHeaders); // use the middleware to set headers.