Вот моя ситуация: у меня есть бэкэнд-сервис GraphQL A, бэкэнд-сервис GraphQL B и портал веб-интерфейса.
Когда веб-интерфейс отправляет HTTP-запрос в службу A, службе A необходимо вызвать службу B для получения некоторые данные.
Вызов, подобный следующему:
const query = gql`
query user {
id
name
}
`;
const user = await gqlclient.query({query});
Как видите, служба A - это своего рода клиент, который отправляет запрос GraphQL на службу B. Я не думаю, что это хороший способ. потому что, когда служба B обрабатывает HTTP-запрос от службы A, она снова выполняет проверку схемы, промежуточное программное обеспечение и другой код. Это не нужно и будет стоить ресурсов и повлиять на производительность.
Я вижу Федерация Аполлона , но это кажется более полезным для внешнего интерфейса. Моя услуга A вызывает службу B, это своего рода внутренний сервисный вызов. Итак, как я могу справиться с этой ситуацией? спасибо.