4小時Dapr+.NET 5+K8S 的實戰 https://ke.qq.com/course/4000292?tuin=1271860f
Dapr進階虛拟機叢集實戰(非K8S) https://ke.qq.com/course/4002149?tuin=1271860f

gRPC 是一種與語言無關的高性能遠端過程調用 (RPC) 架構。
gRPC 的主要優點是:
高性能輕量級 RPC 架構。
協定優先 API 開發,預設使用協定緩沖區,允許與語言無關的實作。
可用于多種語言的工具,以生成強類型伺服器和用戶端。
支援用戶端、伺服器和雙向流式處理調用。
使用 Protobuf 二進制序列化減少對網絡的使用。
這些優點使 gRPC 适用于:
效率至關重要的輕量級微服務。
需要多種語言用于開發的系統。
需要處理流式處理請求或響應的點對點實時服務。
Dapr中的GRPC與我們通常情況下使用GRPC大緻是一緻的,唯一的不同是Dapr中的GRPC會固定調用接口/dapr.proto.runtime.v1.AppCallback/OnInvoke,是以我們在Dapr中使用GRPC時,proto檔案中不需要再定義service節點中的rpc接口,隻需要定義互動使用的序列化結構體即可。
我們繼續使用FrontEnd+BackEnd項目,首先需要将BackEnd中的監聽協定切換成https,因為GRPC是基于HTTP2實作的,傳輸層使用TLS。
1.為BackEnd引入Nuget包
Dapr.AspNetCore
Grpc.AspNetCore
2.在BackEnd中建立Protos/greet.proto檔案,定義互動的結構體
注意:不需要定義service.rpc接口,因為Dapr中的GRPC固定調用接口/dapr.proto.runtime.v1.AppCallback/OnInvoke。
3.修改項目檔案BackEnd.csproj
4.新增接口類Services/HelloService
HelloService中我們隻需要定義OnInvoke方法,通過request.Method來實作不同業務的代碼編寫。
5.為grpc注入類
6.為grpc新增終結點映射
1.為FrontEnd引入Nuget包
Google.Protobuf
Grpc.Net.Client
Grpc.Tools
2.新增Protos/greet.proto檔案
3.修改FrontEnd.csproj檔案
4.在DaprController中新增接口
1.運作BackEnd
我們通過--app-protocol grpc指明了使用grpc,通過--app-ssl指明了開啟tls
2.運作FrontEnd
3.調用FrontEnd的dapr/grpc接口進行測試,調用成功!!