Лучший способ установить уникальный идентификатор (X-Request-Id) в nodejs http заголовке запроса - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь найти лучший способ установить / получить уникальные идентификаторы для 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.
...