Python programming
September 15

🖥 Сервис для 100k RPS: архитектура под давлением

⚙️ Почему Python оказался лучшим выбором для Big Data

Когда бизнесу нужно анализировать миллионы событий, на первый план выходит производительность. Система для рекламного агентства должна была не просто работать, а обрабатывать сотни тысяч событий каждую секунду.

Основные этапы:

Задача 🎯

Создать решение для приёма, обогащения и временного хранения данных.

Подбор технологий

  • Go: высокая скорость, но мало специалистов
  • Rust: рекордные результаты, но дорогая разработка
  • Python + Granian: баланс скорости и удобства

Тестирование 🧪

  • Созданы сервисы на разных стэках
  • Проведены стресс-тесты в Kubernetes
  • Python+Granian показал 5,5k RPS на одном ядре

Data Lake 📂

  • Гарантия целостности событий
  • Использован Tarantool с модификациями
  • Решена проблема с кластерным деплоем

Результат

  • Клиент получил масштабируемое решение
  • Архитектура проста для поддержки штатной командой

Проект доказал, что высокие нагрузки можно решать без отказа от привычного стека.

🔗 Забавно, что инженеры Evrone ради стабильности сервиса даже общались с создателем Tarantool — редкий случай, когда поддержка вышла за рамки документации.