Введение в gRPC: пишем сервер на Go

  Рет қаралды 57,936

Gopher School

Gopher School

4 жыл бұрын

В этом видео я расскажу про gRPC. Мы с вами попробуем написать простой gRPC-сервер на Go, который будет складывать два числа и возвращать результат этой операции.
Ссылки из видео:
- Evans (gRPC-клиент) - github.com/ktr0731/evans
Мой Twitter - / atipugin
Канал в TG - t.me/someoneistyping
#golang #gopherschool

Пікірлер: 58
@kumamon4760
@kumamon4760 4 жыл бұрын
Хороший урок, сделайте серию уроков по созданию микросервисов.
@andreykrafc8305
@andreykrafc8305 4 жыл бұрын
Спасибо, таких каналов не хватает
@maximBobylev
@maximBobylev 3 жыл бұрын
Здравствуйте, спасибо за видео! Очень помогло: узнал про эванс, разобрался с протобафом. С меня подписка :)
@agabekshamuratov4532
@agabekshamuratov4532 4 жыл бұрын
Кросс, голос приятный , удачи тебе и лайк!
@user-hh1lp1lm4n
@user-hh1lp1lm4n 3 жыл бұрын
Всё супер! Автору большой зачёт!!!
@user-hq3dj6ix8g
@user-hq3dj6ix8g 4 жыл бұрын
Лайк. Выложил ссылку на ролик. Ждём продолжения
@GopherSchool
@GopherSchool 4 жыл бұрын
Спасибо!
@Aziz-gl5kf
@Aziz-gl5kf Жыл бұрын
Команда для генерация протокола бафера уже не работает как на данном видео, думаю устарели, как никак видео 3 года, рабочий вариант protoc --proto_path=proto proto/*.proto --go_out=. --go-grpc_out=. и если вы щас будете действовать по инструкции, то в структуру GRPCServer необходимо также добавить интерфейс UnimplementedInventoryServer так как без него функция RegisterInventoryServer будет ругаться также помимо evans вы можете скачать BloomRPC. принцип такой же как и Evans только туда необходимо загрузить прото файл А так автору огромное спасибо, очень полезное видео
@sulafpv
@sulafpv 4 жыл бұрын
Годнота. Перевожу свой пет проект на grpc, два микросервиса, с вебсокетами ковыряться не хочу, а данные нужно, чтобы потоком моментально прилетали
@domore251
@domore251 2 жыл бұрын
отличная подача материала
@GopherSchool
@GopherSchool 2 жыл бұрын
Спасибо!
@daishinkan12
@daishinkan12 11 ай бұрын
Удобненько. Не надо вручную прописывать много вещей
@standarttechnology4477
@standarttechnology4477 Жыл бұрын
Привет! Почему у меня нет интерфейса AdderClient с методом Add? Откуда это вообще взялось? В кратце пожалуйста поясни как получить подобные методы. В .proto мы это не указываем, на что оно ссылается?
@developmentapp
@developmentapp Жыл бұрын
Спасибо. Жаль что уже не все актуально.
@miky7miky
@miky7miky 4 жыл бұрын
Можно ли заменить MQ на gRPC? Как у gRPC с отказоустойчиватью? Спасибо!
@andreyrudin2286
@andreyrudin2286 2 жыл бұрын
gRPC использует протокол http2 так, а зачем поверх http2 что-то еще нужно? если оно и так может например через Rest ? я бы понял, что это чистый TCP или UDP чтобы быстрее все было.
@user-zm1bn7nq8j
@user-zm1bn7nq8j 2 жыл бұрын
Подскажите, почему для генерации файла pb.go мне необходимо добавить в proto файл строку option go_package = "./"; Без этого выдается ошибка: protoc-gen-go: unable to determine Go import path for "proto/reverse.proto" Please specify either: • a "go_package" option in the .proto source file, or • a "M" argument on the command line. Если добавить, как говорится в ошибке, то все работает. Я не понимаю зачем надо дополнительно определять go_package
@dasydasy9268
@dasydasy9268 2 жыл бұрын
Этому видео 2 года. Протокол поменял свою работу. Лучше читать документацию.
@PiVolan
@PiVolan 4 жыл бұрын
Хотелось бы осветить логирование и обработку ошибок в grpc
@melomalo1682
@melomalo1682 2 жыл бұрын
kzbin.info/www/bejne/sF7QeZull6pjhtk Видимо пакет обновился - правильная команда protoc --proto_path=api/proto --go-grpc_out=pkg/api api/proto/adder.proto
@ctpalli
@ctpalli 2 жыл бұрын
Комфортно смотреть на скорости 1.5
@user-si5vk5cd9w
@user-si5vk5cd9w 4 жыл бұрын
Есть смысл настраивать concurrency на grcp сервере?
@GopherSchool
@GopherSchool 4 жыл бұрын
В целом настраивать ничего не надо, из коробки всё работает, по аналогии с http-сервером каждый хендлер отрабатывает в своей горутине. Подробнее можно глянуть тут - github.com/grpc/grpc-go/blob/master/Documentation/concurrency.md
@andreykrafc8305
@andreykrafc8305 4 жыл бұрын
Подскажи сколько у тебя опыта в Golang
@GopherSchool
@GopherSchool 4 жыл бұрын
Около 3-х лет. Правда, основным у меня всегда был Ruby, го скорее хобби.
@israilov6289
@israilov6289 Жыл бұрын
подскажите пожалуйста, при выполнении команды protoc -I api/proto --go-out=plugins=grpc:pkg/api api/proto/adder.proto я получаю ошибку: Unknown flag: --go-out
@timickb
@timickb Жыл бұрын
--go_out :)
@Oswee
@Oswee 4 жыл бұрын
Grpc-gateway i swagger plugini ochenj oblegchaet sozdanie REST/gRPC API servisov.
@GopherSchool
@GopherSchool 4 жыл бұрын
Глянул grpc-gateway, выглядит интересно! Надо будет с ним более детально разобраться.
@Oswee
@Oswee 4 жыл бұрын
@@GopherSchool Esli pravilno pomnju, to eta bila dovolno horoshaja statja - medium.com/@amsokol.com/tutorial-how-to-develop-go-grpc-microservice-with-http-rest-endpoint-middleware-kubernetes-daebb36a97e9
@sanity_equals_nil
@sanity_equals_nil Жыл бұрын
что за плагин на подсветку ошибок если нету комментариев?
@zhivulinal
@zhivulinal 4 жыл бұрын
Бро, напили уроки по Go kit
@reze1337
@reze1337 9 ай бұрын
что за тема и как сделать != как у тебя ?
@user-jk9jo1kg9o
@user-jk9jo1kg9o 3 жыл бұрын
Сейчас обновили protoc, потому видео немного неактуально, теперь не нужно указывать плагин
@TheDooMep
@TheDooMep 2 жыл бұрын
Привет! а какой командой запускаться? у меня go_packages не находит ошибка какая то?
@user-jk9jo1kg9o
@user-jk9jo1kg9o 2 жыл бұрын
@@TheDooMep привет, вероятнее всего ты не выполнил все шаги с сайта где описано как использовать gRPC для Go и не сделал нужные go get`ы и go install`ы. Или возможно неправильно указаны переменные окружения gopath и gobin .
@aleksandrkravtsov8727
@aleksandrkravtsov8727 10 ай бұрын
грамотный урок
@grandlagging0zero175
@grandlagging0zero175 3 жыл бұрын
Как установить Protocol Buffers под windows 10
@user-jd2xr7bf2t
@user-jd2xr7bf2t Жыл бұрын
Wsl + (vscode + devcontainer)
@AlexSuslov
@AlexSuslov 4 жыл бұрын
Попробуй посмотреть свой ролик на телефоне.
@GopherSchool
@GopherSchool 4 жыл бұрын
Попробовал. Что не так?
@AlexSuslov
@AlexSuslov 4 жыл бұрын
Видимо не посмотрел. Объясню на пальцах. Сегодня много контента смотрят на телефонах не большого размера. Когда сидишь на ретине этого не замечаешь. Снимать экран нужно на разрешении 1280х1080 или 1024х786. Шрифты нужно делать такие чтобы студент на телефоне мог в метро смотреть.
@alezyyy
@alezyyy 4 жыл бұрын
Да, желательно делать шрифт в редакторе больше
@youtubeperversions
@youtubeperversions 3 жыл бұрын
​@@AlexSuslov Сколько язвы. Вы еще не отравились от своей же собственной токсичности?
@AlexSuslov
@AlexSuslov 3 жыл бұрын
@@youtubeperversions у меня пониженная кислотность.
@user-le7cf1qk8l
@user-le7cf1qk8l 4 ай бұрын
Ошибки в файле adder_grpc.pb.go - undefined: AddRequest и undefined: AddResponse.
gRPC в Golang: Практическое Введение в Основы
46:16
Олег Козырев
Рет қаралды 24 М.
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 157 МЛН
1❤️
00:20
すしらーめん《りく》
Рет қаралды 33 МЛН
REST API на Golang (Часть 1): Веб-сервер
25:32
Gopher School
Рет қаралды 135 М.
Что такое gRPC и Protobuf?
8:37
Merion Academy
Рет қаралды 39 М.
Пишем мультиплеерную игру на Go
13:23
Jilio Stories
Рет қаралды 21 М.
Интерфейсы в Golang
14:22
Gopher School
Рет қаралды 45 М.
Введение в gRPC: пишем клиент на Go
7:53
Gopher School
Рет қаралды 13 М.
Антон Сергеев, «Go под капотом»
36:37
Kolesa Group
Рет қаралды 89 М.
gRPC для новичков
17:24
QA Tech
Рет қаралды 7 М.
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 157 МЛН