Я создал 3 микросервиса в своем проекте и реализовал структуру федерации GraphQL Netflix DGS. https://netflix.github.io/dgs/ Как компания, мы имеем более 30 схем из разных микросервисов от разных команд. Но если имена типов схемы дублируют друг друга в разных микросервисах, мы получаем ошибку времени выполнения в шлюзе Apollo. Я хотел бы знать, как проверить схемы? Есть ли какой-либо движок/библиотека/концепция для проверки схемы Federated GraphQL на нескольких микросервисах и т. д.? Я проверял реестр схем, но похоже, что он предназначен для хранения схем, управления версиями и т. д., а не для проверки схемы. Пример схемы и ошибки: Схема в службе 1:
type Query{
Status:status
}
type status{
id:String
Information:Info
}
type Info{
location:String
birthDate:String
gender:String
}
Схема в сервисе 2:
type Query{
Books:Book
}
type Book{
name:String
Information:Info
}
type Info{
author:String
Rating:String
}
В приведенных выше двух схемах информация о типе схемы одинакова в обоих микросервисах. После реализации обеих служб через ApolloGateway выдается ошибка времени выполнения: в этом графе данных отсутствует допустимая конфигурация. Не удалось составить допустимую схему. Были обнаружены следующие ошибки композиции: Может быть только один тип с именем Info