Виадук, пять лет спустя: модер... Заметка

Виадук, пять лет спустя: модернизация ориентированной на данные сервисной сетки

Виадук, ориентированная на данные сервисная сетка Airbnb, теперь с открытым исходным кодом. За пять лет использование Viaduct в Airbnb значительно выросло: трафик увеличился в восемь раз, а количество команд удвоилось. Он по-прежнему руководствуется тремя основными принципами: центральной схемой, размещенной бизнес-логикой и повторной входимостью. Центральная схема интегрирует данные по всей компании, делая Viaduct предпочтительной сеткой данных. Размещение бизнес-логики непосредственно в Viaduct, обеспечиваемое бессерверной платформой, упрощает операции для разработчиков. Повторная входимость позволяет размещенной логике взаимодействовать с другой логикой через фрагменты и запросы GraphQL, сохраняя модульность.Недавний капитальный ремонт, "Viaduct Modern", устраняет прошлые сложности, упрощая ориентированный на разработчиков Tenant API до двух типов резольверов: резольверы узлов и полей. Эта модернизация также вводит модульность арендаторов, формализуя "модули арендаторов" как единицы схемы и кода, принадлежащие одной команде, составленные через GraphQL. Модульность фреймворка также была улучшена, создавая более сильные границы абстракции между механизмом выполнения GraphQL, API арендатора и размещенным кодом. Новый API движка динамически типизирован, в то время как API арендатора статически типизирован, что позволяет осуществлять независимую эволюцию.Viaduct предлагает постепенную миграцию, одновременно запуская Classic и Modern Tenant API на новом движке. Другие улучшения включают расширенную наблюдаемость, более быстрое время сборки благодаря разработке, ориентированной на схему, и генерации непосредственно в байт-код, а также диспетчер для масштабирования Kubernetes и смягчения радиуса поражения. Airbnb открывает исходный код Viaduct, чтобы извлечь выгоду из вклада сообщества, и считает, что он может быть ценным как для крупномасштабных, так и для зарождающихся проектов GraphQL. Modern API в настоящее время находится в альфа-версии, но новый движок находится в полной производственной эксплуатации.
CdXz5zHNQW_Ry0cTKX3TG.jpeg