Подскажите, почему для генерации файла 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
Привет! Почему у меня нет интерфейса AdderClient с методом Add? Откуда это вообще взялось? В кратце пожалуйста поясни как получить подобные методы. В .proto мы это не указываем, на что оно ссылается?
gRPC использует протокол http2 так, а зачем поверх http2 что-то еще нужно? если оно и так может например через Rest ? я бы понял, что это чистый TCP или UDP чтобы быстрее все было.
на 10:00 команда уже так не работает вот решение: добавляем в код строчки options: ```go syntax = "proto3"; option go_package = "api/proto"; option java_multiple_files = true; package api; service Adder { rpc Add(AddRequest) returns (AddResponse) {} } message AddRequest { int32 x = 1; int32 y = 2; } message AddResponse { int32 result = 1; } ``` и меняем команду: ```bash protoc -I api/proto --go_out=. --go-grpc_out=. api/proto/adder.proto ```
В целом настраивать ничего не надо, из коробки всё работает, по аналогии с http-сервером каждый хендлер отрабатывает в своей горутине. Подробнее можно глянуть тут - github.com/grpc/grpc-go/blob/master/Documentation/concurrency.md
@@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
@@TheDooMep привет, вероятнее всего ты не выполнил все шаги с сайта где описано как использовать gRPC для Go и не сделал нужные go get`ы и go install`ы. Или возможно неправильно указаны переменные окружения gopath и gobin .
Видимо не посмотрел. Объясню на пальцах. Сегодня много контента смотрят на телефонах не большого размера. Когда сидишь на ретине этого не замечаешь. Снимать экран нужно на разрешении 1280х1080 или 1024х786. Шрифты нужно делать такие чтобы студент на телефоне мог в метро смотреть.
Хороший урок, сделайте серию уроков по созданию микросервисов.
Спасибо, таких каналов не хватает
Кросс, голос приятный , удачи тебе и лайк!
Лайк. Выложил ссылку на ролик. Ждём продолжения
Спасибо!
отличная подача материала
Спасибо!
Здравствуйте, спасибо за видео! Очень помогло: узнал про эванс, разобрался с протобафом. С меня подписка :)
Всё супер! Автору большой зачёт!!!
Жалко пропал, неимоверно полезные вещи делал
Подскажите, почему для генерации файла 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
Этому видео 2 года. Протокол поменял свою работу. Лучше читать документацию.
Годнота. Перевожу свой пет проект на grpc, два микросервиса, с вебсокетами ковыряться не хочу, а данные нужно, чтобы потоком моментально прилетали
Привет! Почему у меня нет интерфейса AdderClient с методом Add? Откуда это вообще взялось? В кратце пожалуйста поясни как получить подобные методы. В .proto мы это не указываем, на что оно ссылается?
Удобненько. Не надо вручную прописывать много вещей
Спасибо. Жаль что уже не все актуально.
gRPC использует протокол http2 так, а зачем поверх http2 что-то еще нужно? если оно и так может например через Rest ? я бы понял, что это чистый TCP или UDP чтобы быстрее все было.
Можно ли заменить MQ на gRPC? Как у gRPC с отказоустойчиватью? Спасибо!
на 10:00 команда уже так не работает
вот решение:
добавляем в код строчки options:
```go
syntax = "proto3";
option go_package = "api/proto";
option java_multiple_files = true;
package api;
service Adder {
rpc Add(AddRequest) returns (AddResponse) {}
}
message AddRequest {
int32 x = 1;
int32 y = 2;
}
message AddResponse {
int32 result = 1;
}
```
и меняем команду:
```bash
protoc -I api/proto --go_out=. --go-grpc_out=. api/proto/adder.proto
```
Спасибо вам добрый человек
подскажите пожалуйста, при выполнении команды protoc -I api/proto --go-out=plugins=grpc:pkg/api api/proto/adder.proto я получаю ошибку: Unknown flag: --go-out
--go_out :)
что за плагин на подсветку ошибок если нету комментариев?
что за тема и как сделать != как у тебя ?
ua-cam.com/video/z-mHhobE0Pw/v-deo.html
Видимо пакет обновился - правильная команда
protoc --proto_path=api/proto --go-grpc_out=pkg/api api/proto/adder.proto
Есть смысл настраивать concurrency на grcp сервере?
В целом настраивать ничего не надо, из коробки всё работает, по аналогии с http-сервером каждый хендлер отрабатывает в своей горутине. Подробнее можно глянуть тут -
github.com/grpc/grpc-go/blob/master/Documentation/concurrency.md
Подскажи сколько у тебя опыта в Golang
Около 3-х лет. Правда, основным у меня всегда был Ruby, го скорее хобби.
Grpc-gateway i swagger plugini ochenj oblegchaet sozdanie REST/gRPC API servisov.
Глянул grpc-gateway, выглядит интересно! Надо будет с ним более детально разобраться.
@@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
грамотный урок
Комфортно смотреть на скорости 1.5
Сейчас обновили protoc, потому видео немного неактуально, теперь не нужно указывать плагин
Привет! а какой командой запускаться? у меня go_packages не находит ошибка какая то?
@@TheDooMep привет, вероятнее всего ты не выполнил все шаги с сайта где описано как использовать gRPC для Go и не сделал нужные go get`ы и go install`ы. Или возможно неправильно указаны переменные окружения gopath и gobin .
Бро, напили уроки по Go kit
Как установить Protocol Buffers под windows 10
Wsl + (vscode + devcontainer)
Попробуй посмотреть свой ролик на телефоне.
Попробовал. Что не так?
Видимо не посмотрел. Объясню на пальцах. Сегодня много контента смотрят на телефонах не большого размера. Когда сидишь на ретине этого не замечаешь. Снимать экран нужно на разрешении 1280х1080 или 1024х786. Шрифты нужно делать такие чтобы студент на телефоне мог в метро смотреть.
Да, желательно делать шрифт в редакторе больше
@@AlexSuslov Сколько язвы. Вы еще не отравились от своей же собственной токсичности?
@@youtubeperversions у меня пониженная кислотность.
Ошибки в файле adder_grpc.pb.go - undefined: AddRequest и undefined: AddResponse.