gRPC ja suorituskykyiset API:t · Oppitunti

HTTP/2 ja Protocol Buffers: gRPC:n perusta

Ymmärrätte, mitkä kaksi teknologiaa tekevät gRPC:stä nopean: HTTP/2-siirron ja Protocol Buffers -binäärisarjallistamisen.

Oppitunti 4/413 vaihetta

HTTP/2 ja Protocol Buffers: gRPC:n perusta on ilmainen gRPC ja suorituskykyiset API:t-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu gRPC ja suorituskykyiset API:t-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. gRPC ja suorituskykyiset API:t-kurssilla on yhteensä 4 oppituntia.

Mikä saa gRPC:n toimimaan

gRPC:n nopeus perustuu kahteen osaan: siirtoon käytettävään HTTP/2:een ja serialisointiin käytettäviin Protocol Buffers -viesteihin. Yhdessä ne selittävät, miksi se päihittää JSON:n käytön HTTP/1.1:n päällä.

HTTP/1.1:n rajoitukset

HTTP/1.1 lähettää yhden pyynnön kerrallaan yhteyttä kohti; pipelining on hauraaksi osoittautuvaa, ja head-of-line blocking pakottaa käyttämään useita yhteyksiä. Tämä lisää viivettä ja kuormitusta paljon viestivissä API:issa.

HTTP/2:n monikanavaisuus

HTTP/2:n monikanavaisuus lähettää useita samanaikaisia virtoja yhden yhteyden kautta. Pyynnöt eivät enää estä toisiaan, ja juuri tämä mahdollistaa gRPC:n kaksisuuntaisen streamauksen.

Binäärikehystys ja otsakkeiden pakkaus

HTTP/2 kehystää tiedot binäärimuodossa ja pakkaa otsakkeet HPACKilla. Verkossa siirrettävien tavujen vähäisempi määrä ja kevyempi jäsentäminen pienentävät viivettä tekstipohjaiseen HTTP/1.1:een verrattuna.

Mitä Protocol Buffers ovat?

Protocol Buffers on tiivis, skeemaan perustuva binääriformaatti. Määrittelet viestit kerran .proto-tiedostossa, ja työkalut luovat niistä koodin useilla kielillä.

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

Kenttänumerot ovat tärkeitä

Verkossa jokainen protobuf-kenttä sisältää tunnistenumeron, ei nimeään — näin hyötykuormat pysyvät pieninä. Älä koskaan käytä tunnistetta uudelleen tai muuta sitä, sillä se rikkoo yhteensopivuuden.

Miksi Protobuf on pieni ja nopea

Protobuf pysyy pienenä ja nopeana jättämällä kenttien nimet pois hyötykuormasta, käyttämällä kokonaislukujen varint-koodausta ja ohittamalla JSON:n välilyönnit sekä lainausmerkit.

Skeema ensin -sopimukset

.proto-tiedosto on asiakkaan ja palvelimen jakama vahva sopimus. Molemmat luovat siitä tyyppiturvallisen koodin, mikä poistaa kokonaisen luokan löyhästi tyypitetyn JSON:n virheitä.

Kokonaisuuden yhdistäminen gRPC:ssä

gRPC-kutsu kuvautuu selkeästi: metodi on HTTP/2-virta, pyyntö- ja vastausviestit ovat protobuf-tavuja, ja streamaus käyttää useita kehyksiä kyseisessä virrassa.

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

Kompromissit

Kompromissit: binääriset hyötykuormat eivät ole ihmisen luettavissa, selaimet tarvitsevat grpc-web-välityspalvelimen, ja tarvitset koodin generointiin tarkoitettuja työkaluja. Sisäisissä, suuren läpimenon palveluissa hyödyt ovat yleensä vaivan arvoisia.

Miksi se päihittää JSON:n ja REST:n

Yhteenvetona: gRPC on tehokas, koska HTTP/2 mahdollistaa tehokkaan monikanavaisuuden ja protobuf serialisoi tiiviisti, samalla kun jaettu skeema pitää molemmat päät tyyppiturvallisina.

Pikatesti

Testaa, miten ymmärrät gRPC:n perustan.

Kertaus

gRPC:n kaksi perustaa ovat seuraavat: HTTP/2 tarjoaa monikanavaiset virrat ja binäärikehystyksen, kun taas Protocol Buffers tarjoaa tiiviin, skeema ensin -formaatin. Yhdessä ne tekevät viestinnästä nopeampaa ja tyyppiturvallista.

Aloita maksutta

Opi gRPC ja suorituskykyiset API:t tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”HTTP/2 ja Protocol Buffers: gRPC:n perusta” ilmainen?

Kyllä – oppitunnin ”HTTP/2 ja Protocol Buffers: gRPC:n perusta” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko gRPC ja suorituskykyiset API:t-kurssin, päivitä CoddyKit PROhon. gRPC ja suorituskykyiset API:t-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”HTTP/2 ja Protocol Buffers: gRPC:n perusta”?

Ymmärrätte, mitkä kaksi teknologiaa tekevät gRPC:stä nopean: HTTP/2-siirron ja Protocol Buffers -binäärisarjallistamisen. Harjoittelet gRPC ja suorituskykyiset API:t-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni gRPC ja suorituskykyiset API:t-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin gRPC ja suorituskykyiset API:t-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”HTTP/2 ja Protocol Buffers: gRPC:n perusta”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä gRPC ja suorituskykyiset API:t-oppitunnilla?

Kyllä. Jokainen gRPC ja suorituskykyiset API:t-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Miksi suorituskykyisiä API-rajapintoja tarvitaan?
  2. Mikä gRPC on?
  3. RPC:n ja RESTin yleiskatsaus
  4. HTTP/2 ja Protocol Buffers: gRPC:n perusta
← Takaisin: gRPC ja suorituskykyiset API:t