Siirry sisältöön

gRPC

Napsauta projektipuuta hiiren oikealla painikkeella ▸ Lisää ▸ gRPC-pyyntö.

gRPC-välilehti: palvelimen osoite, kutsun tyyppi ”Unary”, ratkaistu palvelu/metodi-polku, pyyntöviesti JSON-muodossa ja metatiedot

KenttäTehtävä
URLPalvelimen host:port
Palvelu / MetodiPalvelu ja kutsuttu RPC
Kutsun tyyppiunary, server-stream, client-stream, bidirectional-stream
PyyntöviestiViesti JSON-muodossa
MetatiedotKutsun mukana välitettävät avain–arvo-parit (tunnistetiedot kulkevat täällä)

Kolme mahdollista lähdettä tärkeysjärjestyksessä:

  1. deskriptorijoukko, joka on saatu palvelinreflektiolla — juuri tämän reflektiotuonti tallentaa, ja se ohittaa muut lähteet
  2. rivinsisäinen .proto-sisältö, joka on tallennettu projektiin
  3. polku levyllä olevaan .proto-tiedostoon

Ensimmäisellä vaihtoehdolla on tärkeä käytännön seuraus: reflektiolla tuotu pyyntö toimii edelleen ilman verkkoyhteyttä, vaikka palvelin ei olisi tavoitettavissa.

Anna gRPC-tuonnin valintaikkunassa host:port: Restorm kysyy reflektiopalvelulta, lataa deskriptorit ja rakentaa puurakenteen — yksi kansio palvelua kohti, yksi pyyntö RPC:tä kohti ja mukana esimerkkiviesti.

Uudelleen yhdistäminen samaan osoitteeseen tunnistetaan uudelleensynkronoinniksi, ja olemassa oleva puurakenne päivitetään sen sijaan että se monistettaisiin.

Jos palvelin ei toteuta reflektiota, Restorm sanoo sen suoraan: tuo silloin .proto-tiedosto. Katso gRPC:n tuonti (.proto tai reflektio).

Käytettävissä on kolme siirtotapaa:

SiirtotapaMilloin käyttää
grpc (oletus)Natiivi gRPC HTTP/2:n päällä
grpc-webPalvelin gRPC-Web-välityspalvelimen takana
connectConnect-RPC-palvelin

Kaikissa kolmessa virtaavassa tilassa vastauspaneeli näyttää viestit sitä mukaa kun niitä saapuu. Skenaariossa käytä toimintoja gRPC connect, gRPC send ja Sulje gRPC-yhteys: yhteys pysyy avoimena lohkojen välillä, jokainen vastaanotettu viesti lähettää tapahtuman ja sulkeminen tekee asiakaspuolen puolisulkemisen.

Restorm osaa isännöidä gRPC-simulointipalvelinta: luettelo simuloituja metodeja, joista jokaisella on oma vastausviestinsä (virralle JSON-taulukko), tilakoodinsa ja loppumetatietonsa — tai skripti. Palvelinreflektio on esillä oletuksena, ja TLS on määritettävissä PEM-muotoisella sertifikaatilla ja avaimella. Katso gRPC-palvelun simulointi.

Neljätoista kohdetta: grpcurl, grpc_cli, grpcurl gRPC-Web-tilassa, curl Connect-RPC-tilassa, JavaScript ja TypeScript (@grpc/grpc-js), Python (grpcio), Go, Java (grpc-java), C# (Grpc.Net.Client), Ruby, Rust (tonic), Kotlin (grpc-kotlin), Swift (grpc-swift).