Как между сервисами обменивались gRPC-контрактами?
gRPC-контракты обычно передают как версионируемые .proto-файлы или сгенерированные пакеты; способ должен обеспечивать совместимость независимо выпускаемых сервисов.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
gRPC-контракты обычно передают как версионируемые .proto-файлы или сгенерированные пакеты; способ должен обеспечивать совместимость независимо выпускаемых сервисов.
Читать ответTCP относится к транспортному уровню, HTTP — протокол прикладного уровня, WebDAV расширяет HTTP для работы с ресурсами, gRPC представляет RPC-подход и протокол взаимодействия поверх транспорта.
Читать ответgRPC удобен для типизированных межсервисных вызовов и streaming, REST — для ресурсного HTTP API и широкой совместимости. Kafka подходит событиям, не требующим немедленного ответа.
Читать ответВ gRPC задают deadline, классифицируют status codes и повторяют только безопасные операции. В Kafka отдельно решают retries, dead-letter и момент подтверждения offset.
Читать ответCI может сравнивать новую proto-схему с опубликованной базовой версией и запускать проверку breaking changes, затем собирать клиентов и контрактные тесты.
Читать ответОтделите готовую платформенную основу от своей работы: настройку сервера, middleware, контракты, клиентские вызовы и эксплуатационные параметры.
Читать ответСвяжите каждый механизм с задачей: Kafka для событийного потока, gRPC или HTTP API для вызовов с ответом. Реальная система может использовать все варианты.
Читать ответВнутри системы gRPC удобен строгими контрактами и генерацией клиентов, снаружи HTTP/JSON часто проще для совместимости и отладки. Это практический выбор, а не обязательное правило.
Читать ответСопоставьте latency с ошибками, RPS, CPU, памятью, GC, очередями, пулом соединений и задержками зависимостей. Средняя задержка без разреза по методу малоинформативна.
Читать ответgRPC выбирают ради типизированных контрактов, генерации клиентов, эффективного бинарного обмена и streaming. Выбор должен опираться на требования интеграции, а не на обещание универсального ускорения.
Читать ответРазделите практику gRPC и знание Protocol Buffers: первое связано с RPC-взаимодействием, второе — со схемами и сериализацией сообщений.
Читать ответСначала разделите уровни: REST — архитектурный стиль, HTTP/2 — версия транспорта, gRPC — RPC-технология.
Читать ответ