Задать вопрос
@raiboon

Что выбрать grpc или graphql?

На стороне grpc перфоманс с точки зрения протокола и формата сериализации, с другой стороны, на стороне graphql возможность гибко задавать список необходимых полей сущностей, что улучшает перфоманс, но немного с другой стороны.

На основании каких параметров выбирать тот или иной Фреймворк/формат?
  • Вопрос задан
  • 356 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Выбирай от того, как предполагается использовать.
Если ты разрабатываешь и клиент и сервер, и при этом клиент нормально умеет в grpc (не браузер) - бери grpc.
Если ты разрабатываешь только сервер, а клиенты разные с разными потребностями - тогда graphql.
Ну и никто не запрещает комбинировать - можешь сделать сервер с grpc, а клиентский api предоставлять с graphql
Ответ написан
Комментировать
bingo347
@bingo347
Crazy on performance...
Для внутреннего апи (например когда все клиенты пишутся в той же компании, что и апи) различные RPC протоколы (например тот же grpc) будут эффективнее.
гибко задавать список необходимых полей сущностей
Нормально спроектированное RPC в принципе не отдает ничего лишнего, при этом минимизирует потребность нескольких вызовов за раз. Это позволяет делать апи с минимально возможными издержками.
С GraphQL же придется сильно запарится, чтоб вот те данные из разных таблиц дергались через JOIN, а не через N запросов с постобработкой.

С другой стороны, если апи публичное, то общепринятые вещи типа GraphQL или REST будут предпочтительнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы