HTTP/2 и Protocol Buffers: основа gRPC
Изучите две технологии, благодаря которым gRPC работает быстро: транспорт HTTP/2 и двоичную сериализацию Protocol Buffers.
«HTTP/2 и Protocol Buffers: основа gRPC» — бесплатный урок gRPC & High Performance APIs на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения gRPC & High Performance APIs, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс gRPC & High Performance APIs содержит 4 уроков всего.
What Powers gRPC
Скорость gRPC обусловлена двумя компонентами: HTTP/2 для передачи данных и Protocol Buffers для сериализации. Вместе они объясняют, почему gRPC превосходит JSON поверх HTTP/1.1.
HTTP/1.1 Limits
HTTP/1.1 отправляет по одному запросу за раз на каждое соединение; конвейеризация (pipelining) ненадежна, а блокировка начала очереди (head-of-line blocking) вынуждает использовать множество соединений. Это приводит к задержкам и накладным расходам для «болтливых» API.
HTTP/2 Multiplexing
Мультиплексирование HTTP/2 позволяет передавать множество одновременных потоков через одно соединение. Запросы перестают блокировать друг друга, и именно это обеспечивает двунаправленную потоковую передачу в gRPC.
Binary Framing & Header Compression
HTTP/2 передает данные в бинарном виде и сжимает заголовки с помощью HPACK. Меньший объем данных при передаче и более эффективный парсинг означают меньшую задержку по сравнению с текстовым протоколом HTTP/1.1.
What Are Protocol Buffers?
Protocol Buffers — это компактный бинарный формат, основанный на схемах. Вы один раз описываете сообщения в файле .proto, а инструментарий генерирует код на многих языках программирования.
message User {
int32 id = 1;
string name = 2;
bool active = 3;
}Field Numbers Matter
В передаваемых данных каждое поле protobuf содержит номер тега, а не свое имя — именно это позволяет сохранять размер полезной нагрузки минимальным. Никогда не используйте повторно и не меняйте теги, иначе вы нарушите совместимость.
Why Protobuf Is Small & Fast
Protobuf остается компактным и быстрым за счет удаления имен полей из передаваемых данных, использования кодировки varint для целых чисел, а также исключения пробелов и кавычек, характерных для JSON.
Schema-First Contracts
Файл .proto — это надежный контракт, общий для клиента и сервера. Обе стороны генерируют на его основе типобезопасный код, что устраняет целый класс ошибок, связанных со слаботипизированным форматом JSON.
Putting It Together in gRPC
gRPC-вызов легко соотносится с архитектурой: метод представляет собой поток HTTP/2, сообщения запроса и ответа — это байты protobuf, а потоковая передача использует несколько кадров в рамках этого потока.
service UserService {
rpc GetUser (UserRequest) returns (User);
}Trade-offs
Компромиссы: бинарные полезные нагрузки не читаются человеком, браузерам требуется grpc-web прокси, а также необходимы инструменты генерации кода. Для внутренних высоконагруженных сервисов это обычно оправдано.
Why It Beats JSON/REST
Итог: gRPC выигрывает благодаря эффективному мультиплексированию HTTP/2 и компактной сериализации protobuf, а использование общей схемы обеспечивает безопасность типов для обеих сторон.
Quick Check
Проверьте свое понимание основ gRPC.
Recap
Две основы gRPC: HTTP/2 обеспечивает мультиплексирование потоков и бинарное фреймирование, а Protocol Buffers предоставляют компактный формат, основанный на схемах. Вместе: быстрее и безопаснее с точки зрения типов.
Изучай gRPC & High Performance APIs с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 12
- Уроки
- 48
Часто задаваемые вопросы
Урок «HTTP/2 и Protocol Buffers: основа gRPC» бесплатный?
Да — полный текст урока «HTTP/2 и Protocol Buffers: основа gRPC» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс gRPC & High Performance APIs, подпишись на CoddyKit PRO. Курс gRPC & High Performance APIs содержит 4 уроков всего.
Чему я научусь в уроке «HTTP/2 и Protocol Buffers: основа gRPC»?
Изучите две технологии, благодаря которым gRPC работает быстро: транспорт HTTP/2 и двоичную сериализацию Protocol Buffers. Ты практикуешь gRPC & High Performance APIs с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать gRPC & High Performance APIs?
Предыдущий опыт не требуется. gRPC & High Performance APIs на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «HTTP/2 и Protocol Buffers: основа gRPC»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке gRPC & High Performance APIs?
Да. Каждый урок gRPC & High Performance APIs включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Зачем нужны высокопроизводительные API
- Что такое gRPC
- Обзор RPC и REST
- HTTP/2 и Protocol Buffers: основа gRPC