> Что такое protobuf и как он используется в gRPC (Go)
Уровень: junior · Роль: backend · Категория: Технические вопросы
Компании: Rubbles
Стек: Go
> Пример ответа
Protobuf (Protocol Buffers) - это бинарный формат сериализации структурированных данных, разработанный Google. Он компактнее и быстрее JSON/XML, так как данные кодируются в бинарном виде, а схема описывается в .proto файлах.
В gRPC protobuf используется как язык определения интерфейсов (IDL) и формат обмена сообщениями. Сначала вы описываете сервис и сообщения в .proto файле, например:
service UserService { rpc GetUser (UserRequest) returns (UserResponse); } message UserRequest { int32 id = 1; } message UserResponse { string name = 2; }
Затем компилятор protoc генерирует Go-код: структуры для сообщений и клиент/сервер для gRPC. На стороне сервера вы реализуете интерфейс, на клиенте вызываете методы как обычные функции. Protobuf обеспечивает строгую типизацию, версионирование полей через номера тегов и эффективную передачу данных по сети - это особенно важно для микросервисов на Go, где производительность критична.
> Похожие задачи по backend
Какой интерфейс реализовать для JSON маршаллинга и анмаршаллинга в Go и почему методы должны иметь ресивер по указателю
Что такое embedding
Как написать запрос с использованием CTE в SQL
В чем преимущество PostgreSQL перед MongoDB
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью