Задать вопрос
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())
  • Вопрос задан
  • 457 просмотров
Подписаться 2 Средний Комментировать
Решения вопроса 2
@ghostiam
На Go писатель, серверов пинатель.
Отлично связка живёт и развивается.
Не знаю какие уроки/статьи вы смотрите, из офф доки всё работает, пользуюсь постоянно.
https://grpc.io/docs/languages/go/

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

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

Похожие вопросы