gRPC

6 вопросов

gRPC - высокопроизводительный фреймворк для межсервисного взаимодействия поверх HTTP/2. Protocol Buffers, 4 типа взаимодействия (unary, streaming), deadline, interceptors.

1 Какой транспортный протокол использует gRPC? 🟢 Лёгкий
Ответ: B) HTTP/2

gRPC построен поверх HTTP/2, что даёт мультиплексирование, сжатие заголовков и двунаправленный стриминг. Это позволяет gRPC эффективно работать с несколькими параллельными запросами в одном соединении.

Подробнее →
2 Что такое Protocol Buffers (protobuf)? 🟢 Лёгкий
Ответ: B) Бинарный формат сериализации данных с IDL

Protocol Buffers - бинарный формат сериализации от Google. Данные описываются в .proto файлах (IDL), из которых генерируется код на Go, Java, Python. Компактнее и быстрее JSON, но не человекочитаемый.

Подробнее →
3 Какие типы взаимодействия поддерживает gRPC? 🟡 Средний
Ответ: B) Unary, server streaming, client streaming, bidirectional streaming

gRPC поддерживает 4 типа: 1) Unary - один запрос, один ответ; 2) Server streaming - один запрос, поток ответов; 3) Client streaming - поток запросов, один ответ; 4) Bidirectional streaming - потоки в обе стороны одновременно.

Подробнее →
4 В чём главное преимущество gRPC над REST для межсервисного взаимодействия? 🟡 Средний
Ответ: B) Быстрее за счёт бинарного формата, HTTP/2 и кодогенерации

gRPC быстрее REST: бинарный protobuf компактнее JSON, HTTP/2 мультиплексирует запросы, кодогенерация устраняет ручную сериализацию. gRPC хуже для браузеров (нужен grpc-web) и отладки (бинарный формат не читаем). REST лучше для публичных API.

Подробнее →
5 Что такое deadline в gRPC? 🟡 Средний
Ответ: B) Время, после которого запрос автоматически отменяется

Deadline задаёт абсолютное время, после которого вызов завершается с ошибкой DEADLINE_EXCEEDED. Распространяется через цепочку микросервисов. В Go передаётся через context.WithTimeout. Всегда устанавливайте deadline - иначе запрос может висеть вечно.

Подробнее →
6 Что такое interceptor в gRPC? 🟡 Средний
Ответ: B) Middleware для обработки запросов до/после основного обработчика

Interceptor в gRPC - аналог HTTP middleware. Выполняется до/после основного обработчика. Используется для логирования, метрик, авторизации, трейсинга. В Go есть UnaryInterceptor и StreamInterceptor. Можно объединять в цепочку.

Подробнее →
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.