Apollo Federation, или Как не выстрелить себе в ногу GraphQL Архитектуры, масштабируемость
До Юлы успел поработать в Яндексе, Авто.ру, Рамблере. В Юле 2,5 года и последний год руководит командой Платформа-бэкенд. Помогает внедрять микросервисы, улучшать инфраструктуру и делать Юлу быстрее, выше, сильнее.
Любит A/B-тесты и поэтапное внедрение.
Юла активно переходит на микросервисную архитектуру и год назад начала использовать GraphQL, внедрив её в новый gateway. Однако, за год мы столкнулись с определенными проблемами: растущее число внутренних сервисов и команд уже не позволяло так же быстро и гибко внедрять новый функционал, а изначально легкий gateway начал превращаться в очередной монолит.
Исследовав варианты решения, мы пришли к Apollo Federation – технологии, которая с одной стороны позволила нам разбить монолитную схему основного gateway, а с другой – объединиться со схемами других бизнес-юнитов.
Мы поделимся своим опытом использования GraphQL на примере большого сервиса: от внедрения первого легковесного gateway до распределенной схемы с использованием Apollo Federation.