TGViewer
Yandex for Backend Yandex for Backend @yandexforbackend · 10.2K subscribers
Post #1105 1.49K
💹 Открываем код YTsaurus Flow

Потоковая обработка информации в реальном времени под высокими нагрузками часто упирается в инфраструктуру. Как правильно партиционировать поток данных? Как гарантировать exactly-once при сбоях оборудования? И как понять, обработали ли мы все данные на тот или иной момент?

Для решения этих задач команды Yandex Infrastructure и Яндекс Рекламы создали YTsaurus Flow — фреймворк потоковой обработки данных с сохранением состояния между событиями. Сегодня мы выложили его исходный код в опенсорс под лицензией Apache® 2.0.

Flow входит в экосистему платформы YTsaurus и использует её хранилище, очереди и механизм транзакций. Движок берёт на себя координацию узлов, управление стейтом и восстановление после падений, позволяя разработчику сосредоточиться на бизнес-логике.

Архитектурные особенности YTsaurus Flow:

🟢 Гарантия exactly-once по умолчанию. Атомарная фиксация состояния, метаданных очередей и данных синхронных приёмников в рамках одной транзакции (эпохи). Для экономии ресурсов гарантию можно явно ослабить до at-least-once или at-most-once

🟢 Защита от дублирования работы. Механизм prerequisite-транзакций не позволяет устаревшему воркеру закоммитить результат, если контроллер уже передал задачу новому узлу

🟢 Нативное C++-ядро и гибкий выбор языков. Бизнес-логику пайплайнов можно писать на C++, Python, Go, Kotlin или Java, а простые графы вычислений описывать на YQL

🟢 Автоматическая адаптация под поток. Движок сам балансирует партиции по машинам и подбирает их количество без ручного тюнинга

В статье на Хабре мы подробно разобрали, как устроен YTsaurus-Flow-пайплайн. А ещё поделились кейсом Яндекс Рекламы: как за счёт перехода на real-time с внедрением YTsaurus Flow удалось практически полностью сократить техническую задержку поставки данных для дообучения рекомендательных моделей.

🔶 Читать статью на Хабре

Подписывайтесь:
💬 @Yandex4Backend
📹 @YandexforBackend
  • 🔥 16
  • 👍 5
  • ❤ 3
More from @yandexforbackend
  1. Oct 7, 2026🦾 Что под капотом полнотекстового и гибридного поиска в YDB Меня зовут Александр Зевайкин…
  2. Oct 3, 2026🔶 «Я про бэкенд» начнётся через час! Уже сегодня состоится конференция для бэкенд-разрабо…
  3. Oct 2, 2026💹 От MVP до десятков тысяч магазинов На конференции Back to Back Олег Садовников, руковод…
  4. Sep 25, 2026🎙 Как ускорить работу LLM — в подкасте «От инженера слышу» Почему мощная видеокарта не га…
  5. Sep 24, 2026💹 Делимся записями с deep tech night 5 сентября прошла масштабная конференция Яндекса о т…
  6. Sep 22, 2026Post #1100
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →