Бэкэнд-сервис GraphQL вызывает другой бэкэнд-сервис GraphQL - PullRequest
0 голосов
/ 14 апреля 2020

Вот моя ситуация: у меня есть бэкэнд-сервис 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, это своего рода внутренний сервисный вызов. Итак, как я могу справиться с этой ситуацией? спасибо.

...