gRPC og høyytelses-API-er · leksjon

HTTP/2 og Protocol Buffers: grunnlaget for gRPC

Forstå de to teknologiene som gjør gRPC raskt: HTTP/2-transport og binærserialisering med Protocol Buffers.

Leksjon 4 av 413 trinn

HTTP/2 og Protocol Buffers: grunnlaget for gRPC er en gratis leksjon i gRPC og høyytelses-API-er på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i gRPC og høyytelses-API-er, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i gRPC og høyytelses-API-er inneholder totalt 4 leksjoner.

Hva driver gRPC

Hastigheten til gRPC kommer fra to deler: HTTP/2 for transport og Protocol Buffers for serialisering. Til sammen forklarer de hvorfor gRPC er raskere enn JSON over HTTP/1.1.

Begrensninger i HTTP/1.1

HTTP/1.1 sender én forespørsel om gangen per tilkobling. Pipelining er sårbart, og blokkering forårsaket av køen først tvinger frem mange tilkoblinger. Det gir ventetid og overhead for pratsomme API-er.

Multipleksing i HTTP/2

Multipleksing i HTTP/2 sender mange samtidige strømmer over én tilkobling. Forespørsler blokkerer ikke lenger hverandre, og dette er det som muliggjør toveis strømming i gRPC.

Binær innramming og komprimering av headere

HTTP/2 rammer inn data i binærformat og komprimerer headere med HPACK. Færre byte på nettet og enklere tolking gir lavere ventetid enn tekstbasert HTTP/1.1.

Hva er Protocol Buffers?

Protocol Buffers er et kompakt, skjemadrevet binærformat. Du definerer meldinger én gang i en .proto-fil, og verktøy genererer kode i mange språk.

message User {
  int32 id = 1;
  string name = 2;
  bool active = 3;
}

Feltnumre er viktige

På nettet inneholder hvert protobuf-felt et tagningsnummer, ikke navnet sitt – det er dette som holder nyttelastene små. Du må aldri bruke et tag på nytt eller endre det, for da bryter du kompatibiliteten.

Hvorfor Protobuf er lite og raskt

Protobuf forblir lite og raskt ved å utelate feltnavn fra nyttelasten, bruke varint-koding for heltall og hoppe over mellomrom og anførselstegnene i JSON.

Kontrakter med skjemaet først

.proto-filen er en sterk kontrakt som deles av klienten og serveren. Begge genererer typesikker kode fra den, noe som eliminerer en hel klasse med feil i løst typet JSON.

Slik henger det sammen i gRPC

Et gRPC-kall mappes på en ryddig måte: Metoden er en HTTP/2-strøm, forespørsels- og svarmeldingene er protobuf-byte, og strømming bruker flere rammer på denne strømmen.

service UserService {
  rpc GetUser (UserRequest) returns (User);
}

Avveininger

Avveiningene er at binære nyttelaster ikke kan leses av mennesker, nettlesere trenger en grpc-web-proxy, og du trenger verktøy for kodegenerering. For interne tjenester med høy gjennomstrømming er det som regel verdt det.

Hvorfor det slår JSON/REST

Oppsummert vinner gRPC fordi HTTP/2 multiplekser effektivt og protobuf serialiserer kompakt, mens et felles skjema gjør begge ender typesikre.

Hurtigsjekk

Test forståelsen din av grunnlaget for gRPC.

Oppsummering

De to grunnpilarene i gRPC er: HTTP/2 gir multipleksede strømmer og binær innramming, mens Protocol Buffers gir et kompakt format med skjemaet først. Til sammen blir resultatet raskere og typesikker kommunikasjon.

Gratis å komme i gang

Lær deg gRPC og høyytelses-API-er med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «HTTP/2 og Protocol Buffers: grunnlaget for gRPC» gratis?

Ja – hele teksten i «HTTP/2 og Protocol Buffers: grunnlaget for gRPC» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av gRPC og høyytelses-API-er-kurset, kan du oppgradere til CoddyKit PRO. Kurset i gRPC og høyytelses-API-er inneholder totalt 4 leksjoner.

Hva lærer jeg i «HTTP/2 og Protocol Buffers: grunnlaget for gRPC»?

Forstå de to teknologiene som gjør gRPC raskt: HTTP/2-transport og binærserialisering med Protocol Buffers. Du øver på gRPC og høyytelses-API-er med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med gRPC og høyytelses-API-er?

Ingen tidligere erfaring er nødvendig. gRPC og høyytelses-API-er på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «HTTP/2 og Protocol Buffers: grunnlaget for gRPC»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne gRPC og høyytelses-API-er-leksjonen?

Ja. Alle gRPC og høyytelses-API-er-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hvorfor høyytelses-API-er?
  2. Hva er gRPC?
  3. Oversikt over RPC kontra REST
  4. HTTP/2 og Protocol Buffers: grunnlaget for gRPC
← Tilbake til gRPC og høyytelses-API-er