|
|
Postat la 2021-3-22 16:45:16
|
|
|
|

gRPC este un cadru de apel de procedură la distanță (RPC) de înaltă performanță, independent de limbaj.
Principalele beneficii ale gRPC sunt:
Cadru RPC modern, de înaltă performanță, ușor. Dezvoltare API cu accent pe contract, care folosește implicit buffere de protocoală, permițând implementări independente de limbaj. Unelte disponibile în mai multe limbi pentru a genera servere și clienți puternic tipați. Suportă apeluri de tip client, server și streaming bidirecțional. Reducerea utilizării rețelei prin serializare binară Protobuf.
Aceste beneficii fac gRPC potrivit pentru:
Microservicii ușoare unde eficiența este critică. Sisteme poliglote care necesită mai multe limbaje pentru dezvoltare. Servicii peer-to-peer în timp real care trebuie să gestioneze cereri sau răspunsuri de streaming.
Recenzie:
Când se folosește ASP.NET Core 3.1, un serviciu gRPC este activat, iar punctul final HTTP/2 este configurat fără protecție TLS, vezi:Autentificarea cu hyperlink este vizibilă.
Folosind consola .NET Core 3.1, am încercat să apelez adresa serviciului HTTP gRPC cu următoarea eroare:
Excepție nerezolvată. Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Eroare la începutul apelului gRPC. HttpRequestException: A apărut o eroare în timpul trimiterii cererii. IOException: Răspunsul s-a încheiat prematur.", DebugException="System.Net.Http.HttpRequestException: A apărut o eroare în timpul trimiterii cererii. ---> System.IO.IOException: Răspunsul s-a încheiat prematur.
În funcție de versiunea de .NET folosită de aplicația ta, există câteva cerințe suplimentare pentru a apela un serviciu gRPC nesigur:
.NET 5 sau versiunile ulterioare necesită Grpc.Net.Client versiunea 2.32.0 sau ulterioară. .NET Core 3.x necesită o configurare suplimentară. Aplicația trebuie să seteze comutatorul System.Net.Http.SocketsHttpHttpUncryptedSupport pe true:
Setările clientului sunt următoarele:
Doar .NET Core 3.x necesită comutatorul System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport switch. Nu este necesară nicio configurație suplimentară în .NET 5, nici această cerință。
Autentificarea cu hyperlink este vizibilă.
|
Precedent:.NET/C# Testarea performanței reflectării, emiterii și expresieiUrmător:Nou-venitul târziu relatează
|