Behaviour Trees в инфраструктуре: как мы переписывали стейт-машину хостового агента деплой-платформы
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
Хостовой агент — компонент, который на каждом хосте собирает контейнеры, поддерживает их жизнеспособность и управляет их жизненным циклом, обслуживая сразу несколько систем деплоя и несколько типов контейнеров с разной архитектурой. И при этом не имеет права упасть сам. Внутри это большая иерархическая стейт-машина с сотнями переходов. За время жизни компонента мы прошли три подхода к её проектированию: плоский switch/case, объектный Statechart и, наконец, Behaviour Trees — паттерн из геймдева. В докладе честно разбираю, где каждый подход ломается на масштабе, какую боль мы накопили и почему BT оказались рабочим решением для инфраструктурного кода на Java и C++.
Примечание для ПК: BT используется не только в рамках инфраструктуры Яндекса, но и в других компаниях, например, MWS. Поэтому про исключительный опыт Я речи не идет.
Руководитель группы разработки и агентов систем деплоя
Видео
Другие доклады секции
Архитектура и масштабируемость