.NET 反向代理 YARP 代理 GRPC

前面的 YARP 文檔中 , 介紹了怎么去代理 http,和如何根據域名轉發,而在現在微服務的應用是越來越來多了,服務間的調用依靠 http 越來越不現實了,因為 http 多次握手的耗時越發的影響應用的響應時間;grpc 的出現,為解決這個問題提供了絕佳的解決方案,那 grpc 是什么呢,我從網上摘抄一部分:
什么是 GRPC簡介gRPC 是一個高性能、開源和通用的 RPC 框架,面向移動和 HTTP/2 設計 。目前提供 C#、Java 和 Go 語言版本,分別是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.
gRPC 基于 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復用請求等特 。這些特性使得其在移動設備上表現更好,更省電和節省空間占用 。
概述在 gRPC 里客戶端應用可以像調用本地對象一樣直接調用另一臺不同的機器上服務端應用的方法,使得您能夠更容易地創建分布式應用和服務 。與許多 RPC 系統類似,gRPC 也是基于以下理念:定義一個服務 , 指定其能夠被遠程調用的方法(包含參數和返回類型) 。在服務端實現這個接口,并運行一個 gRPC 服務器來處理客戶端調用 。在客戶端擁有一個存根能夠像服務端一樣的方法 。

.NET 反向代理 YARP 代理 GRPC

文章插圖
gRPC 客戶端和服務端可以在多種環境中運行和交互 - 從 google 內部的服務器到你自己的筆記本,并且可以用任何 gRPC 支持的語言來編寫 。所以 , 你可以很容易地用 C#、Java 創建一個 gRPC 服務端,用 Go、Python、Ruby 來創建客戶端 。此外 , Google 最新 API 將有 gRPC 版本的接口,使你很容易地將 Google 的功能集成到你的應用里 。
那在 YARP 中,怎么去轉發 GRPC呢,默認情況下,你不需要做任何的配置,YARP 默認支持  Hppt/2,所以默認支持 GRPC 和 WebSocket,不像 Nginx 還得額外去設置,哈哈哈哈,是不是很皮【手動狗頭】
【.NET 反向代理 YARP 代理 GRPC】
.NET 反向代理 YARP 代理 GRPC

文章插圖


    推薦閱讀