Почему используете gRPC, а не REST? Какие преимущества HTTP/2, на котором основан gRPC?
gRPC использует протокол HTTP/2 для обмена данными.
Читать ответПодготовка к интервью
126 вопросов по gRPC с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по gRPC — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: grpc, backend, api.
Каталог
gRPC использует протокол HTTP/2 для обмена данными.
Читать ответВ gRPC распределение входящих запросов между службами обычно реализуется на уровне клиента или с помощью внешних балансировщиков нагрузки.
Читать ответНиже пример реализации метода AddItemAndOrder для gRPC-сервера на Go с учетом требований:
Читать ответПри проектировании REST и gRPC API для внутренних и внешних сервисов платформы я исходил из разделения ответственности и требований к производительности и удобству интеграции.
Читать ответДля снижения затрат на процессы кодирования и декодирования данных в gRPC применяются следующие подходы:
Читать ответВ gRPC нет встроенного понятия middleware, как в HTTP-фреймворках, но аналогичный функционал можно реализовать с помощью интерсепторов (interceptors).
Читать ответWebSocket строится поверх протокола HTTP. Изначально устанавливается HTTP-соединение с запросом на "апгрейд" (Upgrade) до WebSocket, после чего соединение переключается на двунаправленный протокол WebSocket.
Читать ответВ моём проекте интеграция компонентов через gRPC осуществлялась следующим образом:
Читать ответStream-запросы в gRPC лучше использовать, когда нужно передавать или получать большой поток данных или множество сообщений, а не одноразовый ответ. Это особенно полезно в следующих случаях:
Читать ответgRPC использует HTTP/2, что позволяет эффективно управлять соединениями с помощью мультиплексирования, поддерживая несколько потоков данных по одному TCP-соединению.
Читать ответВ gRPC, чтобы указать, что определённое поле не предназначено для использования клиентом, можно использовать опцию [(google.api.fieldbehavior) = OUTPUTONLY] в описании protobuf-сообщения.
Читать ответВыбор способа общения между сервисами зависит от требований к производительности, совместимости и удобству разработки.
Читать ответ