Этот вопрос проверяет понимание gRPC как контрактного протокола для межсервисного взаимодействия.
gRPC лучше использовать для взаимодействия между сервисами внутри системы. Он быстрый, строго типизированный и работает поверх HTTP/2. Контракты описываются заранее, что снижает количество ошибок. gRPC плохо подходит для публичных API и браузеров без дополнительного слоя.
gRPC ориентирован на эффективное и надёжное взаимодействие сервисов, а не на универсальность HTTP-API.
gRPC — это RPC-фреймворк, использующий Protocol Buffers и HTTP/2 для быстрого и типобезопасного обмена данными.
Внутренние микросервисы
Частые вызовы.
Низкие задержки.
Контрактные API
Строгие схемы.
Автогенерация клиентов.
Потоковые данные
Server streaming.
Bidirectional streaming.
Высокая производительность
Бинарный формат.
HTTP/2.
Типобезопасность
Контракт обязателен.
Генерация кода
Меньше ручных ошибок.
Плохо подходит для браузеров.
Сложнее отлаживать вручную.
Требует поддержки protobuf-контрактов.
gRPC — отличный выбор для внутреннего межсервисного взаимодействия, где важны скорость, типизация и стабильные контракты.