Алоха! Сегодня мы поговорим о двух новых парнях - gRPC 💁🏼и GraphQL 🙋🏻. Постараюсь рассказать простыми словами о них, чтобы было всем понятно, кто же эти парни))
👉🏻gRPC - дружелюбный парень, который способен передавать множество данных в режиме реального времени. Он использует протокол HTTP/2 и предоставляет высокоскоростной способ передачи данных между различными приложениями. Кроме того, он использует бинарный формат protobuf, что дает огромное преимущество в скорости передачи данных. Если приводить пример, то с помощью gRPC мы можем создавать микросервисы и между ними общаться в режиме реального времени. Хочешь обновить какие-то данные в одном сервисе и чтобы они автоматически обновились в другом сервисе? Без проблем, gRPC об этом позаботится.
👉🏻 А вот GraphQL - это совсем другой тип. Это серьезный мужик, который не бросает слов на ветер. Что у него просят, то от него и получают, т.е. он позволяет клиентам получать именно те данные, которые им нужны, а серверам возвращать только запрошенные данные и все это делает за один запрос, не то что его брат REST, который работает с несколькими запросами)
Как же выбрать, какой парень вам подходит больше? В зависимости от того, что вы хотите создать, один может быть лучше, чем другой. Если у вас микросервисная архитектура, то gRPC может быть выбором номер один, когда вам необходимо передавать много данных между сервисами. Если нет, то GraphQL - возможно, более подходящий вариант, поскольку его режим запроса-ответа позволяет клиентам запрашивать данные только тогда, когда это необходимо.
В целом gRPC и GraphQL - это два инструмента для создания API, и каждый из них может быть полезен в зависимости от того, какую задачу вы перед собой ставите. Важно понимать их отличия и особенности перед использованием
Источник: @ba_and_sa
#API
Пост про Сравнение REST и SOAP
📎Ну а для углубления в тему предлагаю вам несколько статей:
- Сравнение архитектурных стилей API: SOAP vs REST vs GraphQL vs RPC
- Сравниваем REST, GraphQL и gRPC
- REST vs SOAP, gRPC и GraphQL: стили межсистемной интеграции по API
Всем удачи в выборе своего gRPC или GraphQL!
Post #1236
10.3K