Этот вопрос проверяет знание удалённого вызова процедур через HTTP/2 и Protocol Buffers в Go.
gRPC — это фреймворк от Google для удалённого вызова процедур (RPC) поверх HTTP/2 с сериализацией через Protocol Buffers. Его используют для высокопроизводительного, строготипизированного общения между сервисами, с поддержкой стриминга и автоматической генерацией кода на разных языках.
Protocol Buffers:
Описание сервисов и сообщений в .proto.
Генерация Go-структур и интерфейсов.
HTTP/2:
Мультиплексирование запросов, сжатие заголовков.
RPC-модели:
Однонаправленные вызовы, серверный/клиентский стриминг, би-дирекционный.
Преимущества:
Быстрый двоичный протокол.
Автоматический код-клиент/сервер.
Поддержка deadline, аутентификации и метрик.
Применение:
Микросервисы с жёсткой типизацией.
Системы с требованием низкой латентности и высокой пропускной способности.