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

2024 ж. 3 Нау.
36 270 Рет қаралды

Поменяй работу и стань Python разработчиком за 4 месяца 👉
wiki.merionet.ru/merion-acade...
Короче, gRPC это такая система, или фреймворк, который расшифровывается как "Remote Procedure Calls". Подождите, а "g" что значит?
Нууу, кто-то говорит что Google, потому что это их разработка, а официальная документация говорит что g значит gRPC, то есть да это “gRPC Remote Procedure Calls”.
А сами разработчики дико рофлят и каждую новую версию меняют название, так что это особо ни на что не влияет. Нам в мерионе больше всего нравится - glamorous.
Погнали разбираться что такое gRPC и что там делает Protobuf.
Merion Academy - платформа доступного IT образования ❤️
wiki.merionet.ru/merion-academy
Наш Telegram канал:
t.me/it_knowledge_base
#grpc #protobuf

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

    @user-wh9tr5cf2o@user-wh9tr5cf2o2 ай бұрын
  • grpc больше подходит для внутренних api, а rest для того чтоб предоставлять api своего сервиса сторонним разработчикам.

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

    @devospos@devospos2 ай бұрын
    • unix сокеты?

      @VitaliySunny@VitaliySunny2 ай бұрын
    • @@VitaliySunny да, ошибся

      @devospos@devospos2 ай бұрын
    • Бля чел хуйней не занимайся,таких видео 1000 на утуб,там все логично сокеты конекты,порты.или ты просто фанатической хуйней занимаешься

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

    @sergey.k@sergey.k2 ай бұрын
  • как все свежо и молодежно 😊 как будто и не было корбы и ms rps больше 30 лет назад...

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

    @sasichkamega@sasichkamega2 ай бұрын
    • Есть расширение, которое позволяет помечать в третьем протобафе помечать поля как обязательные, не факт что все генерилки умеют с ним работать, но scalapb умеет.

      @avpmk@avpmk2 ай бұрын
    • OpenAPI (бывший swagger) - отличная документация. Точно так же по ней генерят и контроллеры (и модели) для бекенда и клиентов для разных языков. И наоборот по коду на бекенде генерят доку. Единственный минус - нельзя описать websocket (раньше по крайней мере так было). Но при помощи AsyncAPI можно (им не пользоваться).

      @avpmk@avpmk2 ай бұрын
    • @@avpmk вебсокети тепер теж можна

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

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

    @hunterxvov4ik@hunterxvov4ik2 ай бұрын
  • отличный видос, продолжайте в том же духе

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

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

    @artemrokhmakov6373@artemrokhmakov63732 ай бұрын
  • Спасибо за видео! Бвло интересно 😊

    @user-zm7hz6zi2d@user-zm7hz6zi2d2 ай бұрын
  • Отличный видеоролик Интересно будет если расскажете про Kafka или Redis

    @20GK20@20GK202 ай бұрын
    • Обязательно будет! Кстати, про redis мы уже немного рассказывали в нашем видео про NoSQL

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

    @daniyarzhanakhmetov7741@daniyarzhanakhmetov77412 ай бұрын
  • Супер урок! Спасибо 🎉

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

    @RatchetTV1515@RatchetTV15152 ай бұрын
    • почему, для тех же мобилок grpc как по мне лучше будет ибо меньше данных гоняется туда-сюда. плюс можно будет сгенерировать готовый сервис клиент под необходимый язык. это оч удобно

      @semenloktionov3512@semenloktionov35122 ай бұрын
    • Тоже так думал пока не прочел Site Reliability Engineering от инженеров Google. У них фронт с бэком по rpc общается. Поэтому так шустрр и стабильно возможно

      @MRoose@MRoose2 ай бұрын
    • @@semenloktionov3512 разве что придётся фронтов переучить. Хотя тем, кто пользовался автогенерацией клиента по openapi будет проще, думаю. Значит, за grpc будущее. А вот что с graphql тогда - не понятно

      @RatchetTV1515@RatchetTV15152 ай бұрын
  • офигенные видосы, все пересмотрел по несколько раз) предлагаю следующее видео запилить про graphql

    @__ali__97@__ali__972 ай бұрын
  • Хорошее видео. Понятное ❤

    @spacexnix@spacexnix2 ай бұрын
  • Дай бог здоровья

    @user-xc8dn1wz7t@user-xc8dn1wz7t2 ай бұрын
  • Контент краткий и интересный! Можно узнать название саундтрека к вашим роликам?

    @user-ir1fj5jl4x@user-ir1fj5jl4x2 ай бұрын
  • о новый видосик

    @fab4key@fab4key2 ай бұрын
  • Хотите сказать что для взаимодействия с Docker-Compose их контейнерами? Юзать TCP не логично?

    @faclokX@faclokX2 ай бұрын
  • я правильно понял, что можно переставать учить rest и начинать учить grpc?

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

    @Edgar-pu1lc@Edgar-pu1lc2 ай бұрын
    • Верно, но передается текстовая информация (структура json - ключи, значения, всякие управляющие скоробочки и конструкции), когда как в gRPC только значения (структуру мы определяем на этапе создания protobuf). Т.е. gRPC в этом случае гораздо меньше по объему, соответственно быстрее.

      @VitaliySunny@VitaliySunny2 ай бұрын
  • отличный ролик

    @Daleever@Daleever2 ай бұрын
  • Мне интересно что за микрофон у Диктора ))

    @Hadagan_man@Hadagan_man2 ай бұрын
  • Меня тут на собес спросили: а можно ли через http реализовать асинхронную интеграцию? И что - то я подвисла) Помогите, знатоки!

    @user-bk9dt5li5n@user-bk9dt5li5nАй бұрын
  • Чот подумал, а что в grpc с bigendian\littleendian ?

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

    @stari4ok702@stari4ok7022 ай бұрын
  • Все круто. Но я ничего не понял

    @flaviusaecius7021@flaviusaecius70212 ай бұрын
  • <a href="#" class="seekto" data-time="123">2:03</a> не PATCH?

    @zakirovio@zakirovio2 ай бұрын
  • Жду видос по эластику

    @milton4691@milton46912 ай бұрын
    • Жду видос по мантикоре

      @panda58dev@panda58dev2 ай бұрын
  • Rest лучше в названии) простота а еще независимость.

    @Aleksandr37rus@Aleksandr37rus2 ай бұрын
  • Сделайте видео про Unix сокеты пожалуйста

    @user-jx2ne8qq6p@user-jx2ne8qq6p2 ай бұрын
  • Когда нужен синхрон , наверно тогда REST

    @GladSpiR@GladSpiR2 ай бұрын
    • Rest и на асинхронном пишут

      @nevdupIenysh@nevdupIenysh2 ай бұрын
  • <a href="#" class="seekto" data-time="517">8:37</a> очень много кодаааааа не супер нужного, но если очень много денег и времени, вполне можно попробовать

    @DoggerProgger@DoggerProgger2 ай бұрын
  • А ответ на вопрос можно ?)

    @user-uq5zi4xp7u@user-uq5zi4xp7u2 ай бұрын
  • Сделайте пожалуйста Видео про ISCSI

    @qlobik@qlobik2 ай бұрын
  • пришел по зову из телеги

    @Qiqpop@Qiqpop2 ай бұрын
  • И правда, наконец, стало понятно! Как будто ангельской золотой дождь на темечко пролился. Хотелось еще немного по минусам grpc послушать

    @Madgav777@Madgav777Ай бұрын
  • Сделайте видео про сокеты на трансплртном уровне пожалуйста

    @svinoswag@svinoswagАй бұрын
  • Рест умер , вкатываемся на grpc?

    @user-sq3rf6tg7f@user-sq3rf6tg7f2 ай бұрын
    • Не-а, для микросервисов больше эта технология.

      @asedael5519@asedael55192 ай бұрын
  • ⁴⁴⁸

    @user-zy7ug4sl6z@user-zy7ug4sl6z2 ай бұрын
  • Жесть, пчел юзает мёртвые мемы и то криво ( Помянем

    @Naumkovich@Naumkovich2 ай бұрын
  • @Serofim2013@Serofim20132 ай бұрын
  • а 👉а 👉

    @user-sk1zz6on8g@user-sk1zz6on8g2 ай бұрын
  • Автор видео, вы куда то очень торопились?

    @v.lavrinovics1970@v.lavrinovics197020 күн бұрын
    • На троллейбус только, а что?

      @merionacademy@merionacademy20 күн бұрын
  • 😂😂😂бляяя Ахаха Эта бабка со свечами разорвала меня нахуй)

    @user-rg6gi5ve1g@user-rg6gi5ve1g2 ай бұрын
  • Что за ересь? Где лягушонок с компуктером?

    @RustamMajidov@RustamMajidov2 ай бұрын
  • САМЫЙ ОТВРАТИТЕЛЬНЫЙ САЙТ У ВАС

    @100BAXOV@100BAXOVАй бұрын
KZhead