мое внешнее приложение вызывает микросервисы через REST api. Теперь я хочу представить graphQL в качестве шлюза api для моих микросервисов (я не могу изменить микросервисы, чтобы перенести их на graphQL):
Это правильный способ сделать это? Создание вызовов отдыха в преобразователях данных кажется жестким способом сделать это и создает много шаблонов (однако я могу делать что-то не так). Я не нашел ни одного примера такой настройки, если это допустимое решение, не могли бы вы указать мне на некоторые ресурсы, объясняющие, как правильно заархивировать эту настройку (желательно на java)?
@Dracontis, дело в том, что эта система будет расширена, а интерфейсное приложение должно быть перестроено, чтобы включить в него новые функции и новые микросервисы, разве это не имеет смысла в таком случае?
Что, если выйдет из строя один или два микросервиса? Он отклонит весь запрос GraphQL? Вы по-прежнему используете REST и не сможете снизить нагрузку. Несколько микросервисов GraphQL могли бы быть более гибкими. Особенно, если они могут работать асинхронно.
@Dracontis: все микросервисы автоматически масштабируются и находятся за балансировщиком нагрузки, поэтому меня это не беспокоит (если весь запрос отклонен, его можно повторить, я не так сосредоточен на производительности здесь). Я ожидаю, что GraphQL также будет скрыт за балансировщиком нагрузки. Меня больше беспокоит идея использования graphQL в качестве прокси для устаревших микросервисов с REST api.
Это вопрос, основанный на мнении. Я думаю, что эта миграция бессмысленна, поскольку интерфейс, вероятно, использует обещания для вызовов отдыха, и это будет быстрее, чем использование одного вызова. Хорошим способом будет заменить вызовы rest на graphql.