|
|
Publicēts 2021-3-22 16:45:16
|
|
|
|

gRPC ir augstas veiktspējas attālās procedūras izsaukuma (RPC) sistēma, kas ir neatkarīga no valodas.
Galvenās gRPC priekšrocības ir:
Moderns, augstas veiktspējas, viegls RPC ietvars. Līguma pirmā API izstrāde, kas pēc noklusējuma izmanto protokola buferus, ļaujot valodas agnostiskai ieviešanai. Rīki, kas pieejami vairākās valodās, lai ģenerētu stipri ierakstītus serverus un klientus. Atbalsta klienta, servera un divvirzienu straumēšanas zvanus. Samaziniet tīkla izmantošanu ar Protobuf bināro serializāciju.
Šīs priekšrocības padara gRPC piemērotu:
Vieglie mikropakalpojumi, kur efektivitāte ir kritiski svarīga. Poliglotu sistēmas, kuru izstrādei nepieciešamas vairākas valodas. Vienādranga reāllaika pakalpojumi, kuriem jāapstrādā straumēšanas pieprasījumi vai atbildes.
Pārskats:
Izmantojot ASP.NET Core 3.1, gRPC pakalpojums ir iespējots un HTTP/2 galapunkts ir konfigurēts bez TLS aizsardzības, skatiet:Hipersaites pieteikšanās ir redzama.
Izmantojot .NET Core 3.1 konsoli, es mēģināju izsaukt HTTP gRPC pakalpojuma adresi ar šādu kļūdu:
Neapstrādāts izņēmums. Grpc.Core.RpcException: Status(StatusCode="Nav pieejams", Detail="Kļūda, sākot gRPC izsaukumu. HttpRequestException: nosūtot pieprasījumu, radās kļūda. IOException: atbilde beidzās priekšlaicīgi.", DebugException="System.Net.Http.HttpRequestException: nosūtot pieprasījumu, radās kļūda. ---> System.IO.IOException: atbildes reakcija beidzās priekšlaicīgi.
Atkarībā no .NET versijas, ko izmanto jūsu programma, ir dažas papildu prasības, lai izsauktu nedrošu gRPC pakalpojumu.
.NET 5 vai jaunākai versijai ir nepieciešama Grpc.Net.Client versija 2.32.0 vai jaunāka. .NET Core 3.x ir nepieciešama papildu konfigurācija. Lietojumprogrammai ir jāiestata slēdzis System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport uz true:
Klienta iestatījumi ir šādi:
Tikai .NET Core 3.x ir nepieciešams slēdzis System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport. .NET 5 nav nepieciešama papildu konfigurācija, kā arī šī prasība nav nepieciešama。
Hipersaites pieteikšanās ir redzama.
|
Iepriekšējo:.NET/C# atstarošana, izstarošana, izteiksmes veiktspējas testēšanaNākamo:Novēloti jaunpienācēju ziņojumi
|