Netflix TechBlog | Medium на русском
Подписаться
Netflix Conductor: Следующая глава
Netflix Conductor значительно эволюционировал с момента своего первого выпуска с открытым исходным кодом. Хотя поддержка версии с открытым исходным кодом прекратилась, внутренние разработки ускорились, что привело к полной перестройке. Масштабы Conductor резко возросли, обрабатывая миллиарды выполнений рабочих процессов ежегодно, что резко контрастирует с его более ранними достижениями. Этот рост потребовал модернизации почти каждого системного уровня, от плоскости данных до механизма оценки. Теперь Conductor поддерживает огромное количество определений рабочих процессов и является неотъемлемой частью различных бизнес-направлений Netflix, включая разработку контента и студий, рекламу и игры. Например, Media Production Suite полагается на Conductor для критически важных конвейеров приема и обработки медиаданных. Архитектурно Conductor перешел от стека на базе Dynomite к использованию Cassandra в качестве основного хранилища данных и Timestone для очередей, что значительно повысило масштабируемость и надежность. Введение Conductor 3.0 решило фундаментальные проблемы, а Conductor 4.0 перестроил основной механизм оценки. Эта перепись разделила данные для повышения эффективности использования памяти и производительности, а также ввела асинхронную модель оценки для устранения синхронных узких мест. В результате получился более надежный, масштабируемый и производительный механизм оркестровки рабочих процессов, способный удовлетворить огромные операционные потребности Netflix.