Шаблон проектирования журналов, один журнал для каждого клиента по сравнению с запросом цетрализованного журнала - PullRequest
2 голосов
/ 06 мая 2020

Я пытаюсь выбрать один из двух шаблонов или, может быть, даже другой, который мне еще предстоит рассмотреть для обработки журнала в моем приложении.

У меня есть сервер nodejs express, обслуживающий клиентов в группе автоматического масштабирования.

Цель состоит в том, чтобы в идеале иметь возможность очень легко видеть действия каждого пользователя, чтобы у меня были проблемы со съемкой в ​​производственной среде.

Подход 1, централизованное ведение журнала с использованием ELK для запроса на основе определенных json полей, таких как customerId requestId et c.

Подход 2, создание файла журнала для каждого клиента и запрос каждого файла по мере необходимости.

В обоих подходах файлы журналов будут чередоваться.

Создание файла журнала для каждого клиента просто не кажется мне правильным, особенно при рассмотрении сценария ios наличия миллионов клиентов, но с точки зрения производительности ...

  1. запросить 1 миллион файлов на основе идентификатора клиента, а затем запросить гораздо меньший файл для получения необходимой информации

ИЛИ

запрашивает результаты фильтрации централизованного файла журнала на основе идентификатора клиента et c.

Один подход значительно лучше по производительности, чем другой? Какова на данный момент наилучшая практика в отрасли для этого сценария и есть ли лучший подход, который следует рассмотреть?

Наконец AWS Услуги, похоже, взимаются в зависимости от размера файла, который вы запрашиваете. Будет ли один подход более рентабельным, чем другой?

...