This repository has been archived on 2023-12-05. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
protect_trans_info/README.md
2023-08-24 23:40:46 +03:00

2.0 KiB
Raw Blame History

Запуск

Первый запуск:

make first_run
Команда запустит БД (PostgreSQL 15), Rest-сервис,
накатит миграцию в БД и заполнит базу рандомными данными
(2 миллиона записей).

Повторный запуск сервиса:

make start

Вызов метода проверки дубликатов:

curl -X GET --location "http://127.0.0.1:8001/124/432"

Отдельно добавил выгрузку тестовых данных из БД:

curl -X GET --location "http://127.0.0.1:8001/list" > data.txt

Запрос с гарантировано дублируемыми IP:

curl -X GET --location "http://127.0.0.1:8001/88888/99999"

Комментарии к реализации

Есть тесты на основной методв репозитория (с использованием docker через либу dockertest), на остальное тестов не делал. Добавил ещё бэнчмарк и fuzzy-тест, но они работать будут только при запущенном в докере сервисе.

При запуске вся база подтягивается в локальный кэш. Кэш обновляется по умолчанию каждую секунду (настраиваемо, подтягиваются только новые записи). Был вариант ещё вместо обновления по тикеру сделать триггер в бд и через notify/listen постгреса добавлять новые записи в кэш. Было бы эффективнее, но на данном этапе выглядит как оверинженеринг.

Для продакшена не хватает метрик и алертов в сентри, но на это уже времени тратить не хочется.