|
|
Zveřejněno 22. 3. 2021 16:45:16
|
|
|
|

gRPC je vysoce výkonný rámec pro vzdálené volání procedur (RPC), který je jazykově nezávislý.
Hlavní výhody gRPC jsou:
Moderní, vysoce výkonný, lehký RPC framework. Vývoj API na základě kontraktu, který ve výchozím nastavení používá protokolové buffery, což umožňuje implementace nezávislé na jazyce. Nástroje dostupné ve více jazycích pro generování silně typovaných serverů a klientů. Podporuje klientské, serverové a obousměrné streamovací hovory. Omezit používání sítě pomocí binární serializace Protobuf.
Tyto výhody činí gRPC vhodným pro:
Lehké mikroservisy, kde je efektivita kritická. Polyglotické systémy, které vyžadují více jazyků pro vývoj. Peer-to-peer služby v reálném čase, které musí zpracovávat streamované požadavky nebo odpovědi.
Přezkoumání:
Při použití ASP.NET Core 3.1 je aktivována služba gRPC a HTTP/2 endpoint je konfigurován bez ochrany TLS, viz:Přihlášení k hypertextovému odkazu je viditelné.
Pomocí konzole .NET Core 3.1 jsem se pokusil zavolat HTTP gRPC adresu služby s následující chybou:
Neřešená výjimka. Grpc.Core.RpcException: Status(StatusCode="Nedostupné", Detail="Chyba při spuštění gRPC volání. HttpRequestException: Při odeslání požadavku došlo k chybě. IOException: Odpověď skončila předčasně.", DebugException="System.Net.Http.HttpRequestException: Při odesílání požadavku došlo k chybě. ---> System.IO.IOException: Odpověď skončila předčasně.
V závislosti na verzi .NET, kterou vaše aplikace používá, existují další požadavky na volání nezabezpečené gRPC služby:
.NET 5 nebo novější vyžaduje verzi Grpc.Net.Client 2.32.0 nebo novější. .NET Core 3.x vyžaduje další konfiguraci. Aplikace musí nastavit přepínač System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport na true:
Nastavení klienta je následující:
Pouze .NET Core 3.x vyžaduje přepínač System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport. V .NET 5 není potřeba žádná další konfigurace, ani tato požadavek není vyžadována。
Přihlášení k hypertextovému odkazu je viditelné.
|
Předchozí:.NET/C# Testování výkonu reflexe, emitu, výrazuDalší:Pozdní zprávy nováčků
|