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

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

Пікірлер: 58

  • @kumamon4760
    @kumamon47604 жыл бұрын

    Хороший урок, сделайте серию уроков по созданию микросервисов.

  • @andreykrafc8305
    @andreykrafc83054 жыл бұрын

    Спасибо, таких каналов не хватает

  • @agabekshamuratov4532
    @agabekshamuratov45324 жыл бұрын

    Кросс, голос приятный , удачи тебе и лайк!

  • @user-hq3dj6ix8g
    @user-hq3dj6ix8g4 жыл бұрын

    Лайк. Выложил ссылку на ролик. Ждём продолжения

  • @GopherSchool

    @GopherSchool

    4 жыл бұрын

    Спасибо!

  • @maximBobylev
    @maximBobylev3 жыл бұрын

    Здравствуйте, спасибо за видео! Очень помогло: узнал про эванс, разобрался с протобафом. С меня подписка :)

  • @user-hh1lp1lm4n
    @user-hh1lp1lm4n3 жыл бұрын

    Всё супер! Автору большой зачёт!!!

  • @Aziz-gl5kf
    @Aziz-gl5kf Жыл бұрын

    Команда для генерация протокола бафера уже не работает как на данном видео, думаю устарели, как никак видео 3 года, рабочий вариант protoc --proto_path=proto proto/*.proto --go_out=. --go-grpc_out=. и если вы щас будете действовать по инструкции, то в структуру GRPCServer необходимо также добавить интерфейс UnimplementedInventoryServer так как без него функция RegisterInventoryServer будет ругаться также помимо evans вы можете скачать BloomRPC. принцип такой же как и Evans только туда необходимо загрузить прото файл А так автору огромное спасибо, очень полезное видео

  • @domore251
    @domore2512 жыл бұрын

    отличная подача материала

  • @GopherSchool

    @GopherSchool

    2 жыл бұрын

    Спасибо!

  • @sulafpv
    @sulafpv4 жыл бұрын

    Годнота. Перевожу свой пет проект на grpc, два микросервиса, с вебсокетами ковыряться не хочу, а данные нужно, чтобы потоком моментально прилетали

  • @developmentapp
    @developmentapp Жыл бұрын

    Спасибо. Жаль что уже не все актуально.

  • @daishinkan12
    @daishinkan1211 ай бұрын

    Удобненько. Не надо вручную прописывать много вещей

  • @serious_psychologist
    @serious_psychologist2 жыл бұрын

    gRPC использует протокол http2 так, а зачем поверх http2 что-то еще нужно? если оно и так может например через Rest ? я бы понял, что это чистый TCP или UDP чтобы быстрее все было.

  • @ctpalli
    @ctpalli2 жыл бұрын

    Комфортно смотреть на скорости 1.5

  • @PiVolan
    @PiVolan4 жыл бұрын

    Хотелось бы осветить логирование и обработку ошибок в grpc

  • @melomalo1682
    @melomalo16822 жыл бұрын

    kzread.info/dash/bejne/rGGhqsqokqiWgNo.html Видимо пакет обновился - правильная команда protoc --proto_path=api/proto --go-grpc_out=pkg/api api/proto/adder.proto

  • @miky7miky
    @miky7miky4 жыл бұрын

    Можно ли заменить MQ на gRPC? Как у gRPC с отказоустойчиватью? Спасибо!

  • @user-zm1bn7nq8j
    @user-zm1bn7nq8j2 жыл бұрын

    Подскажите, почему для генерации файла 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 года. Протокол поменял свою работу. Лучше читать документацию.

  • @standarttechnology4477
    @standarttechnology4477 Жыл бұрын

    Привет! Почему у меня нет интерфейса AdderClient с методом Add? Откуда это вообще взялось? В кратце пожалуйста поясни как получить подобные методы. В .proto мы это не указываем, на что оно ссылается?

  • @Oswee
    @Oswee4 жыл бұрын

    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

  • @zhivulinal
    @zhivulinal4 жыл бұрын

    Бро, напили уроки по Go kit

  • @user-jk9jo1kg9o
    @user-jk9jo1kg9o3 жыл бұрын

    Сейчас обновили protoc, потому видео немного неактуально, теперь не нужно указывать плагин

  • @TheDooMep

    @TheDooMep

    2 жыл бұрын

    Привет! а какой командой запускаться? у меня go_packages не находит ошибка какая то?

  • @user-jk9jo1kg9o

    @user-jk9jo1kg9o

    2 жыл бұрын

    @@TheDooMep привет, вероятнее всего ты не выполнил все шаги с сайта где описано как использовать gRPC для Go и не сделал нужные go get`ы и go install`ы. Или возможно неправильно указаны переменные окружения gopath и gobin .

  • @andreykrafc8305
    @andreykrafc83054 жыл бұрын

    Подскажи сколько у тебя опыта в Golang

  • @GopherSchool

    @GopherSchool

    4 жыл бұрын

    Около 3-х лет. Правда, основным у меня всегда был Ruby, го скорее хобби.

  • @user-si5vk5cd9w
    @user-si5vk5cd9w4 жыл бұрын

    Есть смысл настраивать concurrency на grcp сервере?

  • @GopherSchool

    @GopherSchool

    4 жыл бұрын

    В целом настраивать ничего не надо, из коробки всё работает, по аналогии с http-сервером каждый хендлер отрабатывает в своей горутине. Подробнее можно глянуть тут - github.com/grpc/grpc-go/blob/master/Documentation/concurrency.md

  • @reze1337
    @reze13379 ай бұрын

    что за тема и как сделать != как у тебя ?

  • @aleksandrkravtsov8727
    @aleksandrkravtsov872711 ай бұрын

    грамотный урок

  • @israilov6289
    @israilov6289 Жыл бұрын

    подскажите пожалуйста, при выполнении команды protoc -I api/proto --go-out=plugins=grpc:pkg/api api/proto/adder.proto я получаю ошибку: Unknown flag: --go-out

  • @timickb

    @timickb

    Жыл бұрын

    --go_out :)

  • @sanity_equals_nil
    @sanity_equals_nil Жыл бұрын

    что за плагин на подсветку ошибок если нету комментариев?

  • @grandlagging0zero175
    @grandlagging0zero1753 жыл бұрын

    Как установить Protocol Buffers под windows 10

  • @user-jd2xr7bf2t

    @user-jd2xr7bf2t

    Жыл бұрын

    Wsl + (vscode + devcontainer)

  • @AlexSuslov
    @AlexSuslov4 жыл бұрын

    Попробуй посмотреть свой ролик на телефоне.

  • @GopherSchool

    @GopherSchool

    4 жыл бұрын

    Попробовал. Что не так?

  • @AlexSuslov

    @AlexSuslov

    4 жыл бұрын

    Видимо не посмотрел. Объясню на пальцах. Сегодня много контента смотрят на телефонах не большого размера. Когда сидишь на ретине этого не замечаешь. Снимать экран нужно на разрешении 1280х1080 или 1024х786. Шрифты нужно делать такие чтобы студент на телефоне мог в метро смотреть.

  • @alezyyy

    @alezyyy

    4 жыл бұрын

    Да, желательно делать шрифт в редакторе больше

  • @youtubeperversions

    @youtubeperversions

    3 жыл бұрын

    ​@@AlexSuslov Сколько язвы. Вы еще не отравились от своей же собственной токсичности?

  • @AlexSuslov

    @AlexSuslov

    3 жыл бұрын

    @@youtubeperversions у меня пониженная кислотность.

  • @user-le7cf1qk8l
    @user-le7cf1qk8l4 ай бұрын

    Ошибки в файле adder_grpc.pb.go - undefined: AddRequest и undefined: AddResponse.

Келесі