Общие практики для записи посетителей / запросов / использования веб-сайта - PullRequest
0 голосов
/ 21 апреля 2019

Цель

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

1 Под сервером Я имею в виду компьютер с доступом к сети, который принимает запросы и соответственно отправляет ответы. Это может быть REST API, HTTP-сервер, Java RMI или любой другой пользовательский протокол поверх TCP / IP.

2 По использование записи Я имею в виду запись каждого запроса, его тип (какой метод используется), местоположение пользователя (IP-адрес) и метку времени. В зависимости от цели могут также потребоваться дополнительные сведения.

Основной целью было бы создание статистических отчетов об использовании по времени суток, дню месяца и т. Д. Кроме того, какое максимальное количество запросов в секунду / минуту / час было записано.

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

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

Некоторые возможные методы

Некоторые возможные методы, о которых я думал, были бы:

  1. Запись в базу данных приложения. Отдельная таблица для записи запроса, где каждая строка представляет запрос.
  2. Просто выведите сообщение в файл журнала. Позже файл журнала может быть проанализирован для создания статистики. Это поможет уменьшить использование базы данных (что обычно является узким местом в производительности) при записи и анализа.
  3. Использовать отдельную базу данных для регистрации запросов.

Что такое правильный способ?

Что я ищу

Этот вопрос предназначен для того, чтобы быть независимым от системы и искать различные приемлемые и эффективные способы регистрации посетителей / трафика для серверного приложения в целом. Важность записи в приложении и не на аппарате составляет:

  • На одной машине может размещаться множество серверных приложений.
  • Серверное приложение может захотеть записать не только IP и временную метку, но в то же время не весь запрос с потенциально конфиденциальными данными. Поэтому выбрать, какая информация записывается после разбора запроса.

Мой конкретный вариант использования

Spring Boot REST API на Java, который использует одну или несколько баз данных. Пожалуйста, не предлагайте сторонние библиотеки, если они не допускают гибкость, описанную выше для записи конкретных деталей по запросу.

Спасибо

Любые ответы, подкрепленные опытом, ссылки на статьи и т. Д. Приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...