Расскажи про свой проект
Python
Junior
Без компании
Расскажи про свой проект
Ответы
Мой последний проект — это высоконагруженный REST API для агрегатора новостей. Основные технологии: FastAPI, PostgreSQL, Redis, Celery.
**Ключевые особенности:**
- Асинхронная обработка запросов (async/await)
- Кеширование через Redis (TTL, инвалидация при обновлении данных)
- Фоновая обработка задач (парсинг источников через Celery + RabbitMQ)
- Оптимизированные запросы к БД (индексы, денормализация для частых операций)
**Пример эндпоинта:**
```
@app.get("/news/{news_id}")
async def get_news(news_id: int):
cached = await redis.get(f"news:{news_id}")
if cached:
return json.loads(cached)
news = await db.fetch_one("SELECT * FROM news WHERE id = $1", news_id)
await redis.setex(f"news:{news_id}", 3600, json.dumps(news))
return news
```
Масштабировалось горизонтально за счёт Stateless-архитектуры и балансировщика. Пиковая нагрузка — ~3k RPS с задержкой <50ms.