Go

gRPC

Protocol Buffers, usługi gRPC, streaming, interceptory, obsługa błędów, metadata

22 pytań z rozmów·
Mid-Level
1

Czym jest gRPC?

Odpowiedź

gRPC to otwartoźródłowy framework RPC (Remote Procedure Call) opracowany przez Google, który używa HTTP/2 jako protokołu transportowego oraz Protocol Buffers jako domyślnego formatu serializacji. W przeciwieństwie do REST, który używa JSON i HTTP/1.1, gRPC oferuje lepszą wydajność dzięki binarnemu formatowi Protocol Buffers i zaawansowanym funkcjom HTTP/2 (multiplexing, kompresja nagłówków, server push). gRPC jest szeroko stosowany do komunikacji między mikroserwisami, ponieważ natywnie obsługuje dwukierunkowy streaming, generowanie kodu klienta/serwera oraz silne typowanie.

2

Jaka jest główna rola Protocol Buffers w gRPC?

Odpowiedź

Protocol Buffers (protobuf) to język definicji interfejsu (IDL) oraz binarny format serializacji używany domyślnie w gRPC. Pozwala definiować strukturę wiadomości i usług w plikach .proto, które są następnie kompilowane w celu automatycznego wygenerowania kodu klienta i serwera w różnych językach. Binarny format protobuf jest od 3 do 10 razy bardziej zwarty niż JSON i oferuje znacznie lepszą wydajność serializacji/deserializacji (do 20 razy szybszą). To sprawia, że gRPC szczególnie nadaje się do komunikacji o wysokiej częstotliwości między mikroserwisami.

3

Jaka jest różnica między wywołaniem gRPC Unary a wywołaniem Server Streaming?

Odpowiedź

Wywołanie Unary to najprostszy typ wywołania gRPC: klient wysyła jedno żądanie i otrzymuje jedną odpowiedź, podobnie jak w klasycznym żądaniu HTTP REST. Wywołanie Server Streaming pozwala klientowi wysłać jedno żądanie, ale otrzymać strumień (stream) wielu odpowiedzi z serwera. Na przykład API powiadomień może użyć Server Streaming, aby wysyłać klientowi wiele aktualizacji bez konieczności pollingu. Zmniejsza to opóźnienia i obciążenie sieci w porównaniu z powtarzanymi wywołaniami Unary.

4

Który pakiet Go jest używany do tworzenia serwera gRPC?

5

Jak zdefiniować usługę gRPC w pliku .proto?

+19 pytań z rozmów

Opanuj Go na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo