Что такое gRPC и Protobuf?

preview_player
Показать описание
Поменяй работу и стань Python разработчиком за 4 месяца 👉

Короче, gRPC это такая система, или фреймворк, который расшифровывается как "Remote Procedure Calls". Подождите, а "g" что значит?

Нууу, кто-то говорит что Google, потому что это их разработка, а официальная документация говорит что g значит gRPC, то есть да это “gRPC Remote Procedure Calls”.

А сами разработчики дико рофлят и каждую новую версию меняют название, так что это особо ни на что не влияет. Нам в мерионе больше всего нравится - glamorous.

Погнали разбираться что такое gRPC и что там делает Protobuf.

Merion Academy - платформа доступного IT образования ❤️

Наш Telegram канал:

#grpc #protobuf
Рекомендации по теме
Комментарии
Автор

Предполагаю следующие причины, по которым можно использовать REST вместо gRPC:
1) Проста для клиента. С REST не потребуется на стороне клиента реализовывать и поддерживать gRPC Stub
2) Безопасность. На клиенте, особенно если это публичная система, сложнее обеспечить безопасность относительно доступа к gRPC Stub.

whtrcfo
Автор

grpc больше подходит для внутренних api, а rest для того чтоб предоставлять api своего сервиса сторонним разработчикам.

italky
Автор

Спасибо, еще интересно было бы глянуть видео про UNIX сокеты, и вообще сокеты в вашей интерпретации.

devospos
Автор

Посмотрел все ваши видосы, после того как вы попались в предложке. Очень доволен подачей материала! Но после описания модели OSI не увидел описание модели TCP/IP, которая, на мой взгляд, более ёмкая. Прошу сделать следующий ролик о ней)

ZRKDark
Автор

Хочу разграничить понимание между REST и gRPC. REST подходит для общения между клиентом и сервером. А gRPC, это больше про общения каких то внутренних действий между сервисами/микро сервисами, который не должны отдавать явного ответа, а просто обозначение того что операция по запросу была успешна выполнена и можно продолжать программу (например: отправка email-письма, запись в бд, либо же ручка для других сервисов).
Но очень важная фича, что можно выстраивать архитектуру между разными сервисами который написаны на разных языках.

artemrokhmakov
Автор

вот без шуток, я посмотрел штук 10 видео по гРПС, потому что у меня на проекте он используется, но я не шарил что это. Нужно было сразу включить это видео и все. Все вот так вот просто встало на свои места. Спасибо

hunterxvovik
Автор

Есть только одна причина использовать gRPC - это если вы гугл и увеличивая пропускную способность, прилучается солидная экономия на ресурсах оборудования. Во всех иных случаях - вы получаете сложность поддержки и отладки

wjtpodd
Автор

иногда вот кажется что всё подобное придумывается только для души, выглядит супер чётко, но потом чтобы поддерживать это нужно прям страдать...

sergey.k
Автор

как все свежо и молодежно 😊
как будто и не было корбы и ms rps больше 30 лет назад...

MrCter
Автор

В proto3 удалены required и optional. Все по умолчанию optional.

Выбрал grpc в своем микросервисном приложении только из-за того, что proto файл это по сути и есть документация api. На остальные плюсы в целом пофиг было😅, я готов был мириться с оверхедом реста, но протофайлы это, имхо, киллер фича.

sasichkamega
Автор

отличный видос, продолжайте в том же духе

Qiqpop
Автор

Отличный видеоролик
Интересно будет если расскажете про Kafka или Redis

GK
Автор

2:50 - "конечно, теперь надо ... проводить сериализацию" - не совсем корректно, потому что json тоже проводит сериализацию перед отправкой (это и есть формат сериализированных данных), хотя и отображается в human-readable виде

hunterxvovik
Автор

Для внешних интеграций конечно лучше REST

qnyxrbe
Автор

Предположу, что REST нужен там, где не нужна потоковая передача данных и мультиплексирование, но конкретный пример в голову не приходит. Кидайте свои мысли камрады :)

stariok
Автор

Наверное, пока что лучше юзать rest для общения фронтенда и бекенда. Можно через api gateway преобразовывать запросы в grpc

RatchetTV
Автор

А есть видео о том, как хранятся данные(object(array, {}, function)) в памяти и как происходит push, unshift, etc. c этими данными?

daniyarzhanakhmetov
Автор

офигенные видосы, все пересмотрел по несколько раз) предлагаю следующее видео запилить про graphql

__ali__
Автор

я правильно понял, что можно переставать учить rest и начинать учить grpc?

dan_feed
Автор

Но передача json тоже по сути бинарный, не ?

Edgar-pulc