
gRPC
Protocol Buffers, gRPC-services, streaming, interceptors, foutafhandeling, metadata
1Wat is gRPC?
Wat is gRPC?
Antwoord
gRPC is een open-source RPC-framework (Remote Procedure Call) ontwikkeld door Google dat HTTP/2 als transportprotocol en Protocol Buffers als standaard serialisatieformaat gebruikt. Anders dan REST, dat JSON en HTTP/1.1 gebruikt, biedt gRPC betere prestaties dankzij het binaire formaat van Protocol Buffers en de geavanceerde HTTP/2-functies (multiplexing, headercompressie, server push). gRPC wordt veel gebruikt voor communicatie tussen microservices omdat het bidirectionele streaming, client/server-codegeneratie en sterk getypeerde interfaces native ondersteunt.
2Wat is de belangrijkste rol van Protocol Buffers in gRPC?
Wat is de belangrijkste rol van Protocol Buffers in gRPC?
Antwoord
Protocol Buffers (protobuf) is de Interface Definition Language (IDL) en het binaire serialisatieformaat dat standaard in gRPC wordt gebruikt. Hiermee kun je de structuur van berichten en services definiëren in .proto-bestanden, die vervolgens worden gecompileerd om automatisch client- en servercode in verschillende talen te genereren. Het binaire formaat van protobuf is 3 tot 10 keer compacter dan JSON en biedt aanzienlijk betere serialisatie-/deserialisatieprestaties (tot 20 keer sneller). Dat maakt gRPC bijzonder geschikt voor hoogfrequente communicatie tussen microservices.
3Wat is het verschil tussen een Unary gRPC-aanroep en een Server Streaming-aanroep?
Wat is het verschil tussen een Unary gRPC-aanroep en een Server Streaming-aanroep?
Antwoord
Een Unary-aanroep is het eenvoudigste gRPC-aanroeptype: de client stuurt één verzoek en ontvangt één antwoord, vergelijkbaar met een klassiek HTTP REST-verzoek. Een Server Streaming-aanroep stelt de client in staat één verzoek te sturen, maar een stream van meerdere antwoorden van de server te ontvangen. Een notificatie-API kan bijvoorbeeld Server Streaming gebruiken om meerdere updates naar de client te sturen zonder dat die hoeft te pollen. Dat verlaagt de latentie en netwerkbelasting ten opzichte van herhaalde Unary-aanroepen.
Welk Go-package wordt gebruikt om een gRPC-server te maken?
Hoe definieer je een gRPC-service in een .proto-bestand?
+19 gespreksvragen
Andere Go-sollicitatieonderwerpen
Go-basis
Go-datastructuren
Go-interfaces
Foutafhandeling
Goroutines-basis
Channels
Go Modules
HTTP-server
HTTP-client
JSON-codering
Database/SQL
context-pakket
Testing
Concurrency-patronen
Synchronisatieprimitieven
Go-webframeworks
REST API-ontwerp
Reflection
Geheugenbeheer
Prestatie-optimalisatie
Generics
Go Design Patterns
Microservices
Beveiliging en authenticatie
Docker & Containerization
Kubernetes Basics
Geavanceerd Go
CLI-ontwikkeling
Beheers Go voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis