Skip to content

koomatoz/deribit-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deribit Price Tracker

Сервис для мониторинга цен (Index Price) btc_usd и eth_usd с биржи Deribit.

Стек технологий

Python 3.11

FastAPI (API Interface)

PostgreSQL + SQLAlchemy Async (Storage)

Celery + Redis (Periodic Tasks)

Docker & Docker Compose (Infrastructure)

GitLab CI/CD (Automation)

Design Decisions (Архитектурные решения)

Асинхронность (AsyncIO): Использован стек FastAPI + aiohttp + asyncpg. Это критично для I/O bound задач (сеть, БД). Воркер Celery работает в синхронном режиме, но внутри вызывает асинхронный цикл asyncio.run(), что позволяет переиспользовать код клиента.

Clean Architecture:

app/main.py: Только HTTP-слой (валидация, роутинг).

app/tasks.py: Бизнес-логика получения данных.

app/db.py: Слой данных (ORM).

Connection Pooling:

В DeribitClient сессия aiohttp создается один раз на цикл опроса, чтобы избежать overhead на установку SSL-соединений.

SQLAlchemy настроена на работу с пулом соединений PostgreSQL.

Инфраструктура: Разделение на микросервисы (Web, Worker, Beat, DB, Redis) через Docker Compose обеспечивает масштабируемость и изоляцию.

Запуск

Локально (через Docker)

docker-compose up --build -d

API доступно по адресу: http://localhost:8000/docs

Тесты

Тесты запускаются автоматически в CI/CD пайплайне, но можно запустить и в контейнере:

docker-compose exec web pytest

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors