|
|
Julkaistu 2021-3-22 16:45:16
|
|
|
|

gRPC on korkean suorituskyvyn etäproseduurikutsu (RPC) -kehys, joka on kieliriippumaton.
gRPC:n tärkeimmät hyödyt ovat:
Moderni, suorituskykyinen ja kevyt RPC-kehys. Sopimuslähtöinen API-kehitys, joka käyttää protokollapuskureita oletuksena, mahdollistaen kieliriippumattomat toteutukset. Työkaluja saatavilla useilla kielillä vahvasti tyypitettyjen palvelimien ja asiakkaiden luomiseen. Tukee asiakas-, palvelin- ja kaksisuuntaisia suoratoistopuheluita. Vähennä verkon käyttöä Protobuf-binäärisarjoituksella.
Nämä edut tekevät gRPC:stä sopivan seuraaviin tarkoituksiin:
Kevyet mikropalvelut, joissa tehokkuus on kriittistä. Monikieliset järjestelmät, jotka vaativat useita kieliä kehitykseen. Vertaisverkkopalvelut, jotka käsittelevät suoratoistopyyntöjä tai -vastauksia.
Arvostelu:
Kun käytetään ASP.NET Core 3.1:ttä, gRPC-palvelu on käytössä, ja HTTP/2-päätepiste konfiguroidaan ilman TLS-suojausta, katso:Hyperlinkin kirjautuminen on näkyvissä.
Käytin .NET Core 3.1 -konsolia ja yritin soittaa HTTP gRPC -palveluosoitteen, mutta sain seuraavan virheen:
Käsittelemätön poikkeus. Grpc.Core.RpcException: Status(StatusCode="Ei saatavilla", Detail="Virhe gRPC-kutsun käynnistyessä. HttpRequestException: Pyyntöä lähetettäessä tapahtui virhe. IOException: Vastaus päättyi ennenaikaisesti.", DebugException="System.Net.Http.Http.RequestException: Pyyntöä lähetettäessä tapahtui virhe. ---> System.IO.IOException: Vastaus päättyi ennenaikaisesti.
Riippuen siitä, mitä .NET-versiota sovelluksesi käyttää, turvattoman gRPC-palvelun kutsumiseen liittyy joitakin lisävaatimuksia:
.NET 5 tai uudempi vaatii Grpc.Net.Client version 2.32.0 tai uudemman. .NET Core 3.x vaatii lisäasetuksia. Sovelluksen on asetettava System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport -kytkin todeksi:
Asiakasasetukset ovat seuraavat:
Vain .NET Core 3.x vaatii System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport-kytkimen. .NET 5:ssä ei vaadita lisäasetuksia, eikä tämä ole vaatimus。
Hyperlinkin kirjautuminen on näkyvissä.
|
Edellinen:.NET/C# Heijastus-, Emit- ja Expression-suorituskyvyn testausSeuraava:Myöhäiset tulokkaat raportoivat
|