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

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

Комментарии • 58

  • @kumamon4760
    @kumamon4760 4 года назад +48

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

  • @andreykrafc8305
    @andreykrafc8305 4 года назад +6

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

  • @user-hh1lp1lm4n
    @user-hh1lp1lm4n 3 года назад

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

  • @maximBobylev
    @maximBobylev 3 года назад +1

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

  • @agabekshamuratov4532
    @agabekshamuratov4532 4 года назад +9

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

  • @Aziz-gl5kf
    @Aziz-gl5kf Год назад +4

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

  • @user-hq3dj6ix8g
    @user-hq3dj6ix8g 4 года назад +6

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

  • @domore251
    @domore251 2 года назад +2

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

  • @sulafpv
    @sulafpv 4 года назад +2

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

  • @daishinkan12
    @daishinkan12 11 месяцев назад

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

  • @developmentapp
    @developmentapp Год назад

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

  • @miky7miky
    @miky7miky 4 года назад

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

  • @standarttechnology4477
    @standarttechnology4477 Год назад

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

  • @serious_psychologist
    @serious_psychologist 2 года назад

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

  • @user-zm1bn7nq8j
    @user-zm1bn7nq8j 2 года назад +4

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

  • @melomalo1682
    @melomalo1682 2 года назад +6

    ruclips.net/video/z-mHhobE0Pw/видео.html
    Видимо пакет обновился - правильная команда
    protoc --proto_path=api/proto --go-grpc_out=pkg/api api/proto/adder.proto

  • @PiVolan
    @PiVolan 4 года назад

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

  • @ctpalli
    @ctpalli 2 года назад

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

  • @andreykrafc8305
    @andreykrafc8305 4 года назад

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

    • @GopherSchool
      @GopherSchool  4 года назад +4

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

  • @user-si5vk5cd9w
    @user-si5vk5cd9w 4 года назад

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

    • @GopherSchool
      @GopherSchool  4 года назад +2

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

  • @reze1337
    @reze1337 9 месяцев назад

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

  • @israilov6289
    @israilov6289 Год назад

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

  • @zhivulinal
    @zhivulinal 4 года назад

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

  • @Oswee
    @Oswee 4 года назад +2

    Grpc-gateway i swagger plugini ochenj oblegchaet sozdanie REST/gRPC API servisov.

    • @GopherSchool
      @GopherSchool  4 года назад

      Глянул grpc-gateway, выглядит интересно! Надо будет с ним более детально разобраться.

    • @Oswee
      @Oswee 4 года назад +1

      @@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

  • @aleksandrkravtsov8727
    @aleksandrkravtsov8727 11 месяцев назад

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

  • @sanity_equals_nil
    @sanity_equals_nil Год назад

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

  • @user-jk9jo1kg9o
    @user-jk9jo1kg9o 3 года назад +2

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

    • @TheDooMep
      @TheDooMep 2 года назад

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

    • @user-jk9jo1kg9o
      @user-jk9jo1kg9o 2 года назад

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

  • @grandlagging0zero175
    @grandlagging0zero175 3 года назад

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

  • @AlexSuslov
    @AlexSuslov 4 года назад +3

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

    • @GopherSchool
      @GopherSchool  4 года назад +2

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

    • @AlexSuslov
      @AlexSuslov 4 года назад

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

    • @alezyyy
      @alezyyy 4 года назад

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

    • @youtubeperversions
      @youtubeperversions 4 года назад +5

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

    • @AlexSuslov
      @AlexSuslov 3 года назад

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

  • @user-le7cf1qk8l
    @user-le7cf1qk8l 5 месяцев назад

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