Тёмный

gRPC - альтернатива REST API от Google. Пишем gRPC сервер и клиент на Java и Python. 

alishev
Подписаться 154 тыс.
Просмотров 138 тыс.
50% 1

Опубликовано:

 

30 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 299   
@alishevN
@alishevN 3 года назад
Telegram: t.me/alishev_g
@wizardadeptus2044
@wizardadeptus2044 2 года назад
Хорошее видео. Позволило поверхностно разобраться в gRPC под стакан уиски. В свою очередь это позволило отдебажить gRPC сервак заказчика на котлине и понять почему он возвращал NPE в ответе. А то непонятно было, куда коней запрягать с этим gRPC. Ура, баг починен, автору респект.
@АлексТвист-ф8ж
@АлексТвист-ф8ж 2 года назад
Огромная благодарность, Наиль, за Ваш труд! Реально талант. Настолько доступным языком объяснять сложные вещи. Смотрел в других источниках про gRPC , почти ничего не понял. После этого видео сразу целостное понимание технологии, подхода и преимуществ. И сразу с примером👍Спасибо!)
@DairaGames
@DairaGames 3 года назад
Блин чувак. Ты просто вангуешь. Я только сегодня такой думал: блин, вот бы урок про микросервисы замутил бы кто то годный. И тут уведомление. Просто бомба. Спасибо большое. От души. Я в этой жизни теперь точно не буду счастлив, пока лично не найду тебя не пожму руку. Спасибо
@alishevN
@alishevN 3 года назад
:)
@fedyasavchuk1043
@fedyasavchuk1043 3 года назад
Был бы очень признателен за подобные уроки по kafka и maven :)
@AndreyMalygin
@AndreyMalygin 2 года назад
Товарищ Алишев, хочу сказать тебе, что ты крутой поц, который выручает меня в знаниях уже который раз, тебя знают половина моей группы в институте, ты уже стал некой мафией в java. Держишь уже свою нишу довольно долго, репект
@eugenenazirov
@eugenenazirov Год назад
Офигенно! Как раз на проекте столкнулся с использованием микросервисов, которые общаются по gRPC. Помогло очень быстро въехать в тему. Спасибо большое!
@leonidvolobuev7096
@leonidvolobuev7096 3 года назад
Чел ты лучший, серьезно, мне кажется если бы ты объяснял кватновую механику или молекулярную физику, даже тут все было бы предельно понятно. Огромное тебе спасибо, благодаря тебе научился действительно многому
@AlekseiBeloglazov
@AlekseiBeloglazov Год назад
Мужик, спасибо за объяснение с практикой и сжато в тоже время. Я ваще не в теме был. Но честно, мужик. ctrl + A, ctrl + c - скопировать все содержимое файла. ctrl + A, ctrl + v - вставить в файл с полной заменой. Так сильно проще, чем крутить колесико.
@RG-em1nh
@RG-em1nh 3 года назад
Мне бы такого ментора как ты, спасибо большое добрый человек !
@МаксимСамойлов-р6ф
@МаксимСамойлов-р6ф 11 месяцев назад
По моему мнению Наиль самый комфортный обозреватель по Java!!! Скорость подачи ин-фы + грамотная речь + хороший объём нового материала!!! В общем просто КЛАСС👍
@CyberAcidPlanet
@CyberAcidPlanet 3 года назад
Аргмент по несжимаемость JSON надуманный. Он отлично жмётся тем же gzip или brotli, где не будет проблемы того что у нас один и тот же ключ повторяется много раз (будет ссылка на этот символ при сжатии).
@kursruk
@kursruk 3 года назад
Отсутствие строгой типизации, это не минус, а плюс JSON. По поводу избыточности JSON. { "header":["date", "event"], "data": [ ["2020-01-14", "Событие 1"], ["2020-01-19", "Событие 2"], ["2020-01-23", "Событие N"], ] } Так, что избыточных ключей легко избежать. Также ничто не мешает гонять потоки JSON объектов по HTTP 2. Тем не менее большое спасибо за видеоролик.
@apoloz-p6x
@apoloz-p6x 2 года назад
А теперь каждый раз пиши ручные парсеры на этот вот свой формат, который из коробки ни одна либа для работы с жсонами не поймет.
@JohnSmith-m6y4r
@JohnSmith-m6y4r Год назад
Наиль, у Вас талант объяснять сложные вещи простым языком. Например я очень долго искал и не мог найти понятное для себя руководство по Spring'у, пока не наткнулся на Ваш курс - он стал для меня единственным спасательным кругом. И то же самое с gRPC. Вам нужно собственную школу по программированию открывать для программистов, уже владеющих основами языков программирования, такой как бы продвинутый курс. Или стажировать людей за деньги где-то с оплатой в Вашу сторону. Первую работу найти очень тяжело, поэтому думаю на это реально должен быть спрос - новичкам дать возможность покупать коммерческий опыт, котирующийся у работодателей, за деньги.
@spilnich
@spilnich 3 года назад
Получил первый оффер! Спасибо огромное за grpc и все видео по Spring, кучу раз пересматривал и конспектировал.
@alishevN
@alishevN 3 года назад
Кайф!
@aliaksandraryzhyk4138
@aliaksandraryzhyk4138 3 года назад
Как всегда на высшем уровне.... все четко, понятно, без воды... Спасибо большое!!!
@АндрейНикола-п6ю
@АндрейНикола-п6ю 2 года назад
Я наконец то разобрался с gRPC) Спасибо тебе за проделанную работу!
@olegrazin3429
@olegrazin3429 3 года назад
Так вот как ты выглядишь, Alishev. Этот видео формат очень крут!
@maxim9976
@maxim9976 3 года назад
21:30 для браузера можно использовать gRPC-web. Там пока есть ряд ограничений по стримингу, но в целом рабочий вариант.
@RedkeiGost
@RedkeiGost 2 года назад
Да ну куча проблем у gRPC-web. Вот приходит вам мессаг-респонс, и нужно её прочитать. Вы делаете toObject и если в глубине есть тип google_protobuf_struct_pb.Struct то оно превратится в fieldsMap. И можно конечно на Struct юзать toJavaScript, но Struct может быть очень глубоким потомком jspb.Message и во-первы, идти через геттеры к нему крайне неудобно, а во-вторых, нам нужно все дерево и нужно как-то мержить результат toObject и его потомка. С типизацией у Struct тоже плохо - она вообще не имеет типа и это реально приводит к проблемам в typescript. В целом ну очень неудобно, имхо.
@Denis-Orlov
@Denis-Orlov 3 года назад
Как же ж вовремя! Как раз на работе попросили замутить gRPC клиент!
@dzmitrydarashuk6528
@dzmitrydarashuk6528 Год назад
Я человек простой, вижу новое видео Алишева - захожу, ставлю лайк!
@psy667
@psy667 3 года назад
Очень качественная подача информации, спасибо вам огромное
@АлександрМамзиков-х1у
Никто не мешает в rest использовать бинарный формат и сжатие.
@kalashnikofsergey7064
@kalashnikofsergey7064 3 года назад
Я бы посмотрел как ты свагером нагенеришь код под бинарные сообщения
@dark_evil77
@dark_evil77 3 года назад
Я мешаю
@АлександрМамзиков-х1у
@@kalashnikofsergey7064 чем? Тут ведь речь шла не об удобстве и трудозатратах, а о принципиальной возможности.
@Миха-и7г
@Миха-и7г 3 года назад
это помимо того, что json, как и любой текст, прекрасно жмётся апаратными средствами, прозрачно для разработчика.
@svetlanamazhaykina6918
@svetlanamazhaykina6918 6 месяцев назад
Спасибо за Ваш труд! Коммент в поддержку канала.
@ivanfedin9094
@ivanfedin9094 Год назад
Шикарный урок - очень подробно и понятно. Спасибо!
@vladimirnechiporyuk2948
@vladimirnechiporyuk2948 Год назад
Афигенная штука. Теперь буду писать пет проекты только на gRPC!
@nikenuke
@nikenuke Год назад
Очень классный материал! Посмотрел до этого 10 роликов по gRPC и не мог разобраться все равно, теперь же все ясно, спасибо!
@RedkeiGost
@RedkeiGost 2 года назад
"в случаи с монолитным приложением мы можем изменить какую-то часть и это затронет другие приложения" - вопрос архитектуры монолита. Зацепленность-связанность, все дела. "Всё объединено" это не от монолитности же зависит. Микросервис тоже можно изменить так, что это затронет зависящие от него микросервисы. Используется версия http2 только если браузер его полностью поддерживает. Иначе энвой же шлет по http1, разве нет? Ключ-единицу 29:21 мог бы и proto сгенерировать.
@kamurashev
@kamurashev 3 года назад
Как скопировать джава RMI в другие языки и ни кому не говорить. Структура 1 в 1. И этой штуке 100 лет в обед. Я еще не родился. За видео лайк.
@tolibijava
@tolibijava 4 месяца назад
Очень внятно и просто как всегда - СУПЕР ПОДАЧА
@Skykvi
@Skykvi 2 года назад
Очень круто, отличное содержание, приятно смотреть. Спасибо за труд.
@ykochubeev
@ykochubeev Год назад
Большое спасибо вам, очень полезное видео. Пойду поищу ваши уроки про Java
@Евгений-ь3г5к
@Евгений-ь3г5к Год назад
Редко оставляю комментарии, но ты красавчик! Столько полезного материала!❤
@kazakhification
@kazakhification 3 года назад
Json сжимается gzip-ом разве нет?
@alishevN
@alishevN 3 года назад
даже сжатый JSON все равно занимает больше места, чем protobuf - nilsmagnus.github.io/post/proto-json-sizes/
@FastDamage
@FastDamage 3 года назад
@@alishevN Честно не много не понял,так если проблема в размере JSON,что мешает весь JSON прогнать через protobuf и отправить? я ничего не имею против gRpc но в большом проекте где под 1000+ методов которые взаимодействуют с различными микросервисами замучаешься всё описывать в .proto (для такой задачи надо нанимать отдельно человека на должность mapper ;) )
@mishashins
@mishashins 3 года назад
@@FastDamage у нас в C# можно описывать интерфейсы)
@brunneng8575
@brunneng8575 3 года назад
Автор даёт ссылку на тесты. Там видно что при коротких сообщениях прото дает выигрыш. Однако на больших сообщениях явно теряет преимущество. Я думаю что нужно ещё больше тестов. Повысить энтропию данных, зажать их и посмотреть что получиться. Есть шанс что в разных ситуациях, в разных задачах придется выбирать между прото или json вариантом, так как есть зависимость от объема данных и рассеивании. Аргумент того что json сжатие требует процессорное время, такое себя, так как любое сжатие этого требует. Нужно больше хороших синтетических тестов и тестов из жизни, реальных проектов. Но по мне, пока что, JSON выглядит лучше, даже если на коротких сообщениях проигрывает.
@АндрейСемка-ъ1ы
@АндрейСемка-ъ1ы 2 года назад
Спасибо большое за ценный и подробный урок!
@varchar21
@varchar21 3 года назад
Наиль, благодарю! Всегда актуально и своевременно. Спасибо еще раз!
@antondzmitruk2102
@antondzmitruk2102 3 года назад
Ты мог бы сказать типо есть такая штука от Гугла и используйте ее вместо REST, она лучше), но ты прям с самого начала разжевал) Браво!
@faniskhalikov9736
@faniskhalikov9736 3 года назад
Круто! Очень хорошо разобрано, заходит отлично ) Талантливый человек талантлив во многом (на заднем плане гитара и синтезатор : ) )
@ChamZod
@ChamZod 3 года назад
Не успел начать рест изучать, а тут уже что-то новое)
@NummeSpnet
@NummeSpnet 3 года назад
не парься, ещё долго рест будет актуален.
@ilyababcenco6864
@ilyababcenco6864 3 года назад
Автолайк, Наиль скажи пожалуйста когда ждать следующий урок по спрингу, ну ооочень жду там как раз на самом интересном ты остановился
@alishevN
@alishevN 3 года назад
по спрингу я записываю полный курс. выйдет через месяц-два
@vladimirblagin3105
@vladimirblagin3105 Год назад
24:05 Глядя как развиваются последние несколько лет нейронки, есть большая вероятность замены таких инструментов как PVS-Studio анализаторами на базе AI. Желаю ребятам скорее оседлать этого конька и включить в свой проект AI подсистему анализатора кода.
@llARXANGELll
@llARXANGELll 2 года назад
Ух годнота. Однозначно лайк!!!
@MrShark123123
@MrShark123123 3 года назад
Надеюсь тема grpc будет дальше развиваться,очень нужная штука сейчас,а русскоязычных материалов нету
@IgorAlov
@IgorAlov 3 года назад
json так же сжимается может deflate или gzipом, если настроено сжатие между клиентом и серверов. это прям очень стандартно. и реально эффективно это все и получается бинарно. так же весь html передается, он сжимается при передаче. посмотрите это с помощью tcpdump данные в теле буду бинарными а не текстовыми при использовании сжатия
@_Vertan_
@_Vertan_ 3 года назад
Не знаю на какой джаве проект, но с такими моструозными названиями классов хорошо заходит объявление через var)
@KotlinBack
@KotlinBack 3 года назад
Думаю тут скорее для лучшего понимания используется именно такой подход декларации переменных.
@canti2332
@canti2332 3 года назад
Справедливости ради, так как JSON это простой текст, то отлично сжимается gzip, и настроить его как для отдачи так и для получения довольно просто. Такие минусы как не сжимается и повторяющиеся ключи для сжатого json не работают, правда добавляется архивирование и разархивирование.
@alishevN
@alishevN 3 года назад
да, правильное замечание, но даже сжатый JSON все равно занимает больше места, чем protobuf - nilsmagnus.github.io/post/proto-json-sizes/
@MrRais96
@MrRais96 3 года назад
@@alishevN При передаче данных по каналам связи, что текст, что бинарные файлы сжимаются. Текст лучше, бинарные данные меньше, а в целом получающийся пакет примерно одинаков, разница в 5-10%. Излишний размер влияет на надежность, текстовый формат передается чуть медленнее, но надежнее. Все вышеописанное влияет на передачу между удаленными серверами, в случае связи между близкорасположенными серверами, без использования внешних каналов, т.е. интранет, то тут бинарный формат в 7-10 раз может быть быстрее.
@muxahx3096
@muxahx3096 3 года назад
GraphQL вам в помощь.
@DairaGames
@DairaGames 3 года назад
Формат кстати бомбезный. Люблю иногда посмотреть стримы от GeekBrains (Александр Фирсунов) из за того, что урок идёт на примере и больше часа.
@antondzmitruk2102
@antondzmitruk2102 3 года назад
Нет слов! Спасибо тебе огромное!
@It_wizards
@It_wizards 3 года назад
Круто, очень доступно, красавчик!
@ВладимирШереметьев-в2ю
Отличный и понятный урок, спасибо!
@СтасМатвеев-ъ9з
Loguru очень хорошая альтернатива стандартному logging в Python
@mazeltov2701
@mazeltov2701 3 года назад
Неплохая обертка веб сокетов
@Softovick
@Softovick 3 года назад
Спасибо за видео. Но вопрос возник в голове у меня - ведь если текст, то его тоже можно сжимать на лету, есть же алгоритмы. Которые достаточно эффективно и быстро сжимаю данные и вот их можно по сети гонять. По сути ведь все равно gRPC дает накладные расходы на кодировние/декодирование, в REST это можно на сжатие/распаковку тратить. Ну правде это не решает вопрос с протоколом и стримами, согласен, но тем не менее.
@ivanstrelka3448
@ivanstrelka3448 3 года назад
Очень круто. Спасибо
@КириллЛемесев-е3е
@КириллЛемесев-е3е 2 года назад
Прекрасный урок, большое спасибо!
@Блин-Наш
@Блин-Наш Год назад
Блин , хорошая лекция. Толковый лектор....
@tuujhfjjiyiiitr5763
@tuujhfjjiyiiitr5763 Год назад
Спасибо! очень помог
@alekcandrovich
@alekcandrovich 3 года назад
спасибо! все понятно и лаконично
@daniyarrakhymbek5876
@daniyarrakhymbek5876 Год назад
Большое спасибо!
@TeamKiller06
@TeamKiller06 3 года назад
В REST API ведь можно использовать потоковые данные через библиотеку Reactor для Spring Boot. Данные передаются через Mono и Flux. Спасибо за обзор. Все четко и доступно. Однозначно заинтересовала технология. Немного напрягает что вместо JSON используется бинарный код
@ixaran
@ixaran 2 года назад
Если не нравится делай на старых технологиях, и как ты собираешься организовывать стримы?
@pozystark
@pozystark 2 года назад
Хороший урок. Спасибо)
@aidynabirov7728
@aidynabirov7728 3 года назад
Отличное видео !
@gamechannel_833
@gamechannel_833 3 года назад
Не посмотрев видео, сразу ставлю лайк!
@FrendlyFrend-g6j
@FrendlyFrend-g6j 3 года назад
так же делаю
@shubinsyu
@shubinsyu 3 года назад
А чем отличается микросервис от EJB-компонента, работающего в распределенной JEE-платформе? И в чем отличие gRPC от RMI/Corba?
@ЕвгенийАфанасьев-о5у
EJB аналогичен по своей сути мультимодульному проекту на мавене, когда монолит делят на разные куски в зависимости от его действий в приложении, например, один ejb компонент отвечает за DAO, другой бизнес логика, другой интеграция с внешними сервисами и ТД. Концепция миеросесервисов строится вокруг DDD подхода в рамках которого у каждого сервиса может быть и свой dao слой, и свой слой интеграции и своя бизнес логика. А по поводу RMI, так эта технология и так используется в спринг клауд и является его базой. Grpc в отличии от RMI можно сипмлементировать на любом языке, таким образом не завязываясь на определенном стеке, в то время как клауд в рамках одного цельного приложения это набор микросервисов на java
@valeradubrava
@valeradubrava 3 года назад
1. Монолитные приложение также могут масштабироваться, а микросервисы могут не иметь такой возможности. Все зависит от реализации. 2. Текстовые данные хорошо сжимаются. Автор скорее всего имел ввиду, что в текстовом формате JSON содержится много "лишней" информации о разметке данных. Вообще, кажется сравнение gRPC vs REST абсолютно неуместно. Для каждого подхода есть случаи, когда лучше его использовать.
@redologs
@redologs 3 года назад
Увидел тему, посмотрел длительность - лайк не глядя.
@silentium_noxe
@silentium_noxe 3 года назад
>нам нужно только унаследоваться от этого класса 35:45 Тем временем класс public **final** class Upd: так бы прямо и говорил что мы будем наследоваться от вложенного класса. 😂
@tbazadaykin
@tbazadaykin 3 года назад
1) Как НЕ копировать прото-файлы каждый раз в десяток проектов-микросервисов? 2) Как отслеживать изменения в протофайлах? Первое что приходит на ум это создавать отдельный проект с описанием сервисов на протобуфе, собирать из этого проекта потом пакеты/модули для различных языков, и импортировать эти пакеты/модули как внешние зависимости в микросервисах.
@maxim9976
@maxim9976 3 года назад
Все верно, нужно создавать отдельный гит-проект (если используется гит) и туда класть прото-файлы. В микросервисах затем подключать этот проект с помощью подмодулей (submodule) (используем в ежедневной работе), либо subtree (это не пробовал).
@p.polunin
@p.polunin 2 года назад
Обалдеть! 😳
@pavelgolin2421
@pavelgolin2421 3 года назад
для приема данных с сенсоров используется mqtt, а http для веба
@konstantinviktorovich8194
@konstantinviktorovich8194 3 года назад
Подход работы с gRPC, чем то похож с SOAP. Там на основе wsdl генерится java код, а здесь на основе proto файла. Как у клиента так и у сервера эти два файла должны быть одинаковые.
@evgenyshevelev6100
@evgenyshevelev6100 3 года назад
Охренеть! Это же гениально! Общение клиента и сервера как по шине между процессором и ОЗУ, например. Я балдею)
@miketuev3241
@miketuev3241 3 года назад
Супер ролик! Большое спасибо. Доходчиво и понятно.
@cannibalirk3055
@cannibalirk3055 Год назад
некоторые зависимости из этого урока и protobuf-maven-plugin не обновлялись аж с 2018 года. есть какой-то более современный стек, заменяющий эти, очевидно, устаревшие инструменты?
@vladimirkrylov4947
@vladimirkrylov4947 3 года назад
Микросервисы это мегахайп. Но никто не говорит, что это распределенные системы и что это вносит не только счастье, но и сложность в разработку. Что надо написать туеву хучу кода для саги и для ролбэков. Что удаление записи в микросервисах хреновая идея, потому что нет на любимого "foreign key". А gRPC надо выбирать очень осторожно. Так как дебажить бинарник битый тяжко, это не текстик в жэйсоне.
@denislobanov7582
@denislobanov7582 2 года назад
Просто Вау! Такая крутая штука, а я и не знал! Спасибо автору за труд, очень хороший и нужный вводный ролик! Кстати, а почему в сервере response билдится каждую итерацию цикла? Один раз сбилдить, затем много раз отправлять. Или так нельзя?
@whereispie
@whereispie 2 года назад
Спасибо!
@k0rinf
@k0rinf 3 года назад
Поясните как контролить версии прото файла!? Как сервисы должны понять что он обновился и нужно его поменять и перегенерить код!?
@ramilsafin5751
@ramilsafin5751 3 года назад
С удовольствием послушал тебя, Наиль!
@ramilsafin5751
@ramilsafin5751 3 года назад
Из предложений по улучшению контента: можешь приобрести планшет или ноутбук с поддержкой стилуса (ручки) для интерактивного добавления материала поверх слайдов.
@alishevN
@alishevN 3 года назад
@@ramilsafin5751 Спасибо за фидбэк!) Подумаю над этим.
@Serik686
@Serik686 3 года назад
JavaScript это Владилен Минин, Java это Алишев😀.
@КонстантинЪЪЪ
@КонстантинЪЪЪ 2 года назад
огромное списибо
@ZzooD
@ZzooD 3 года назад
Классный урок, побольше бы таких )
@Pewdew
@Pewdew 3 года назад
Послушал с удовольствием, первый раз покурить оторвался на 47й минуте))
@darkstyleV
@darkstyleV 3 года назад
Просто топ)
@Nievinor
@Nievinor 3 года назад
Не знал ранее про данный механизм. Спасибо)
@brunneng8575
@brunneng8575 3 года назад
Что касается избыточности JSON, то тут больше вопросов к тем кто так данные передает. Многие любят вкладывать данные одни в другие. А потом при разборе тыкаться в глубину. Действительно могут часто повторятся данные, текст. Однако надо просто думать головой и делать JSON читаемым, но не избыточным.
@lotierm
@lotierm 3 года назад
rest api тоже можно бинарно передавать
@kursruk
@kursruk 3 года назад
Вообще-то JSON легко сжимается средствами WEB сервера. Так-что это не является недостатком REST API.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Год назад
Спасибо
@evgenkr2993
@evgenkr2993 3 года назад
супер видео! понятно преподнесено материал! спасибо!
@phil2964
@phil2964 3 года назад
Наилю лайк неглядя)
@ZIK_1337
@ZIK_1337 10 месяцев назад
привет! а как происходит версионирование proto файлов? допустим на сервере он поменялся, это же не значит, что все клиенты должны обновляться? есть какие-то версии пакетов, чтобы использовать конкретный proto файл на клиентах?
@ПолинаВасильева-ъ5ю
@ПолинаВасильева-ъ5ю 3 месяца назад
Добрый день! Подскажите, пожалуйста, как написать протофайл с двумя rpc таким образом, чтобы сначала ожидались данные от первого сервиса, а потом уже от второго? Как посылать запрос на первый сервер, пока не получишь данные? Спасибо большое за ответ
@alexeymyasnichenko3318
@alexeymyasnichenko3318 2 года назад
был ли у кого затык в том, что после генерации классов из прото файла, в таргет папке все как в видео, но при имплементации возникает затык, идея просто не видит этот класс из таргета, при ручном импорте com.example.grpc* , идея не видит уже с папки example . хотя ТООЧНО она в иерархии папок в таргет файлах есть как в видео.
@j_denis
@j_denis Месяц назад
Надо пометить папки со сгенерированным кодом, как sources root, и эта проблема исчезнет.
@ДанилаБагров-ъ1ы
@ДанилаБагров-ъ1ы 3 года назад
Классно!!! Спасибо большое за проделанную работу! Очень интересно слушать!
@soontobedivorced
@soontobedivorced 3 года назад
Скажите, пожалуйста, в чем отличие установки соединения по HTTP 2 с последующим получением по этому соединению потока данных и сокетов? Используя сокеты тоже ведь можно установить отдельное соединение с сервером и получать по нему данные? Большое спасибо за урок!
@gregory-povorozniuk-piano
@gregory-povorozniuk-piano Год назад
HTTP и Web Sockets это разные протоколы сделанные на основе TCP
@dmitr8194
@dmitr8194 3 года назад
Годно, плюсую!
@АлександрБугримов-о1е
Отличное видео) Спасибо
@user-segadev
@user-segadev 2 года назад
Это протокол используется исключительно для общения микросервисов между собой?
@valeralemberov2853
@valeralemberov2853 7 месяцев назад
Я один столкнулся с проблемой что не могу унаследовать Grpc класс, у меня 2 проекта, одни maven второй greadle но не там не там не получается расширить этот класс. Если есть идеи буду рад. А так автору респект!!
@ilyamogilan8209
@ilyamogilan8209 7 месяцев назад
Столкнулся с такой же проблемой. Помогло изменение версии зависимостей grpc-netty-shaded, grpc-protobuf и grpc-stub до актуальной (1.62.2)
@valeralemberov2853
@valeralemberov2853 7 месяцев назад
@@ilyamogilan8209 о боги, это сработало. Спасибо тебе.
Далее
Про Kafka (основы)
49:23
Просмотров 406 тыс.