dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go

[Updated] Жива ли связка protobuf + go + grpc?

Коллеги живая ли связка? На сегодня не могу найти ни одного работающего как ожидается туториала: идешь в grpc - попадаешь на deprecated пакеты, идешь в protobuf - там не работают генераторы кода. Ишьюсы с этой проблемой на гитхабе в кол-вах нескольких штук закрыты, но по факту генератор не работает

protoc --go_out=pkg/ pkg/models.proto
cat pkg/models.pb.go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
//   protoc-gen-go v1.25.0
//   protoc        v3.13.0
// source: reddar/models.proto

package pkg

import (
  proto "github.com/golang/protobuf/proto"
  protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  reflect "reflect"
  sync "sync"
)


proto "github.com/golang/protobuf/proto" почему она ссылается на гитхаб?

@pav5000

UPD:
вроде получилось, даже с учетом что либы с разных пакетов
оказывается нужно было вот так маршалить
proto.Marshal(payload.ProtoReflect().Interface())
а было вот так
proto.Marshal(payload.ProtoReflect())
  • Вопрос задан
  • 453 просмотра
Решения вопроса 2
@ghostiam
На Go писатель, серверов пинатель.
Отлично связка живёт и развивается.
Не знаю какие уроки/статьи вы смотрите, из офф доки всё работает, пользуюсь постоянно.
https://grpc.io/docs/languages/go/

Вот как выглядит сгенерированный файл
https://github.com/ghostiam/gosandbox/blob/master/...
Совсем другие импорты, нежели у вас.
Ответ написан
Связка жива, массово используем в продакшне.
Можете попробвать вот это для более легкой сборки протофайлов. Только разок настроить надо.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы