Я запускаю веб-сервер узла с помощью экспресс-модуля и хотел бы включить в него следующие функции:
- в первую очередь, отслеживать IP-адрес каждого посетителя, время и уникальное или повторное посещение, сохраняяэто в файл JSON.
- во-вторых, если кто-то более 10 раз за последние 15 секунд заходил на мой сервер в поисках уязвимостей (несуществующих страниц), то собирал эти попытки в буфер (содержащий данные 30 секунд) и порог один раздостигнуто, начните блокировать IP-адрес источника на X часов.
Мне интересно найти самый быстрый способ сохранить эту информацию с минимальным снижением производительности.
Пока мой выбор - создать RAMDISK и сохранить эту информацию внепрерывный файл на этом RAMDISK.
Информация для посетителя записывается в базу данных каждые несколько минут.
Информация для печально известных посетителей будет сбрасываться каждые 30 секунд, чтобы обеспечить быстрый поиск.
У меня вопрос: пишете ли вы в RAMDISK самый быстрый способ сохранить информацию (чтобы она не терялась при сбое) или есть лучший / более быстрый способ достижения этой цели?