Укрощение сервисно-ориентирова... Заметка

Укрощение сервисно-ориентированной архитектуры с помощью ориентированной на данные сервисной сетки

Airbnb разработала Viaduct, ориентированную на данные сервисную сетку, для улучшения модульности в своей микросервисной архитектуре. Традиционные сервисные сетки ориентированы на процедуры, в то время как Viaduct фокусируется на данных, используя схему GraphQL в качестве центрального организующего принципа. Эта схема определяет типы, запросы и мутации, абстрагируя зависимости сервисов от потребителей. Viaduct позволяет потребителям данных получать доступ к информации из нескольких микросервисов без прямых зависимостей, упрощая архитектуру. Центральная схема облегчает изменения API и схемы баз данных, повышая гибкость данных и снижая усилия по координации. Viaduct интегрирует бессерверные функции для производных данных, минимизируя количество и сложность микросервисов. Система, построенная с использованием graphql-java, предлагает такие функции, как детальный выбор полей, наблюдаемость данных и внутризапросное кэширование. Она использует инструменты экосистемы GraphQL и обеспечивает значительную часть трафика API Airbnb. Viaduct решает проблемы, связанные со спагетти-подобными графами зависимостей, распространенными в больших сервисно-ориентированных архитектурах. Переход к подходу, ориентированному на данные, направлен на оптимизацию доступа к данным и улучшение общей ремонтопригодности системы. Архитектура началась с чистой схемы и выросла, включив в себя многочисленные основные сущности. Решение, уже развернутое в продакшене, иллюстрирует приверженность Airbnb к развитию своей SOA.
CdXz5zHNQW_YzRZpul0zT.jpeg