Встречается на собеседованиях • сегодня

Что такое gRPC

gRPC — это высокопроизводительный фреймворк для удаленного вызова процедур (RPC) от Google, использующий HTTP/2 и Protocol Buffers (protobuf) для сериализации данных. **Ключевые особенности:** - **Языковая независимость** — поддерживает множество языков (Java, Go, Python и др.). - **Бинарный протокол** — protobuf обеспечивает компактность и скорость. - **4 типа взаимодействия** — унарный, серверный поток, клиентский поток, двунаправленный поток. **Пример (Java):** 1. **Определение сервиса в `.proto`:** ```protobuf service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} } message HelloRequest { string name = 1; } message HelloReply { string message = 1; } ``` 2. **Сервер:** ```java public class GreeterImpl extends GreeterGrpc.GreeterImplBase { @Override public void sayHello(HelloRequest req, StreamObserver responseObserver) { HelloReply reply = HelloReply.newBuilder().setMessage("Hello " + req.getName()).build(); responseObserver.onNext(reply); responseObserver.onCompleted(); } } ``` 3. **Клиент:** ```java ManagedChannel channel = ManagedChannelBuilder.forTarget("localhost:8080").usePlaintext().build(); GreeterGrpc.GreeterBlockingStub stub = GreeterGrpc.newBlockingStub(channel); HelloReply reply = stub.sayHello(HelloRequest.newBuilder().setName("World").build()); ``` **Используется** в микросервисах, межсервисном взаимодействии, где важны низкие задержки и высокая пропускная способность.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы