Доклад

Эволюция бэкенда собственного S3-хранилища: переход к асинхронному взаимодействию бизнес логики и системы метаданных

Зал 3

Мы с командой разрабатываем самостоятельное объектное S3-совместимое хранилище. В его основе лежит отдельная система хранения метаданных объектов, от которой напрямую зависят скорость и надежность пользовательских операций. По мере роста объема данных, нагрузки и сложности системы текущей архитектуре становилось всё сложнее одновременно обеспечивать масштабируемость, производительность и дальнейшее развитие функциональности. Поэтому потребовалось пересмотреть устройство метаслоя.

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

В докладе я разберу, как были сформированы требования к новой архитектуре и какие особенности S3-хранилища повлияли на проектные решения. Покажу, какие варианты взаимодействия между компонентами мы рассматривали и почему выбрали асинхронный подход. Разберу связанные с ним вопросы согласованности данных, идемпотентности, порядка выполнения операций и восстановления после частичных отказов. Также мы пройдемся по требованиям к новому хранилищу метаданных, разберем, как выбиралось подходящее решение и какие архитектурные компромиссы сопровождали этот выбор.

Спикеры

Расписание