Не упустите лучшие вакансии!
Подключите наш Telegram-бот и получайте мгновенные уведомления о новых предложениях из 10+ источников. Будьте первым, кто откликнется!
Подключить ботаРазработчик на C++ в группу разработки Очередей YTsaurus
Яндекс работает с эксабайтами данных, которые нужно эффективно хранить, обрабатывать и передавать между приложениями. Для этого мы создали YTsaurus — распределённую платформу, которая сочетает в себе единое хранилище и ряд инструментов для обработки данных под разные сценарии. Почти каждый сервис в Яндексе использует YTsaurus для решения своих задач. Платформа активно развивается, а исходный код YTsaurus выложен в опенсорс.
Одной из составляющих платформы является такой продукт, как Очереди (YTsaurus Queues) — распределённый журнал сообщений на базе динамических таблиц, похожий на Apache Kafka. Одно из ключевых преимуществ Очередей YTsuarus — возможность exactly-once-обработки событий без необходимости в дополнительных инструментах или интеграциях.
Мы ищем разработчика на C++, который поможет нам развивать Очереди и делать их более удобным и простым инструментом для разработчиков.
Какие задачи вас ждут
Kafka ProxyВ мире опенсорса для передачи сообщений широко используется Apache Kafka. Многие приложения уже интегрированы с Kafka через SDK и работают с её топиками по бинарному протоколу поверх TCP. Чтобы упростить миграцию на Очереди YTsaurus и поддержать существующие инструменты, мы разрабатываем компонент YTsaurus — Kafka Proxy. Он реализует бинарный протокол Kafka и позволяет работать с Очередями YTsaurus так же, как с топиками Kafka. Сейчас Kafka Proxy находится на стадии MVP: поддерживается базовый набор операций для чтения и записи. Наша цель — превратить его в полноценный production-ready-компонент для работы с Очередями.
Интеграция с Debezium
У пользователей часто уже есть данные в сторонних системах и выстроенные процессы их обработки. При переходе на YTsaurus возникает потребность переноса данных и интеграции с существующей инфраструктурой. Мы хотим упростить этот процесс и занимаемся разработкой соответствующих инструментов.
Debezium — это платформа для захвата изменений, которая отслеживает insert/update/delete-операции в базах данных и публикует их в Kafka. Она построена на Kafka Connect и поддерживает множество популярных СУБД через специальные коннекторы. Мы планируем сделать интеграцию с Debezium, чтобы пользователи могли легко переносить данные в YTsaurus. Для этого мы хотим направлять поток изменений напрямую в Очереди YTsaurus, минуя Kafka, а также реализовать механизм для применения этих изменений к динамическим таблицам YTsaurus.
Мы ждем, что вы
- Уверенно владеете C++ и хотите писать сложный и надёжный код
- Умеете писать легкочитаемый код
- Готовы разбираться в устройстве высоконагруженного сервиса
Будет плюсом, если вы
- Работали с распределёнными системами
О команде
Мы искренне увлечены большими распределёнными системами и сложными техническими задачами. Многие из нас имеют академический опыт и до сих пор активно преподают — в МФТИ, ВШЭ, ШАД и других высших учебных заведениях. Несколько человек занимали топовые места в соревнованиях по спортивному программированию.Мы следим за новостями индустрии и регулярно обсуждаем свежие доклады с VLDB, SIGMOD и CppCon, а иногда и сами выступаем, например на HighLoad++ и Hydra.
Ваше резюме увидят первым!
Автоматическое поднятие на HeadHunter каждые 4 часа. Увеличьте свои шансы на успех в 10 раз!
Подключить автоподнятие