- FastAPI - реализация API
- Kafka - брокер
- ClickHouse - хранилище для событий
- Redis - хранилище для кэша
- ETL - для переноса данных из брокера в хранилище
Тестирование производительности БД Vertica и ClickHouse
В проекте реализована проверка JWT токена во внешнем сервисе с последующим кэшированием в Redis для снижения нагрузку на Auth сервис.
Данную проверку можно отключить установив переменную окружения JWT_VALIDATE=0
, в этом случае JWT токен будет проверяться только на время действия.
Для упрощения compose файлов, запуск сервиса разделен на несколько частей:
-
брокер Kafka и сервис с API, принимающим данные от клиента:
docker-compose -f docker-compose.yml -f docker-compose.kafka.yml up
-
хранилище ClickHouse и ETL принимающий данные из брокера:
docker-compose -f docker-compose.clickhouse.yml -f docker-compose.etl.yml up
Для запуска тестов API необходим брокер:
docker-compose -f docker-compose.kafka.yml up -d \
&& docker-compose -f app/src/tests/functional/docker-compose.yml up --build tests