RPC 遠程過程調用(遠程函數調用) GRPC google開發,跨語言RPC,用來解決微服務通信性能和擴展問題 跨語言:通過Protobuffer文件(通用文件)解決跨語言問題的 高併發:GRPC基於http/2協議,多路復用機制(服務端一個線程可以連接任意數量客戶端請求) webapi缺陷 we ...
RPC
遠程過程調用(遠程函數調用)
GRPC
google開發,跨語言RPC,用來解決微服務通信性能和擴展問題
跨語言:通過Protobuffer文件(通用文件)解決跨語言問題的
高併發:GRPC基於http/2協議,多路復用機制(服務端一個線程可以連接任意數量客戶端請求)
webapi缺陷
webapi基於HTTP協議,7層通訊協議,高併發存在性能瓶頸。
創建GRPC服務端項目
方式1、新建grpc項目
方式2、手動創建
1、創建proto文件
proto文件相當於服務介面
2、通過proto文件創建服務類
創建GRPC客戶端項目
1、創建項目GrpcClient
2、安裝Nuget包
Install-Package Grpc.Net.Client
Install-Package Google.protobuf
Install-Package Grpc.Tools
3、拷貝服務端項目的Protos/greet.proto文件到客戶端
修改proto文件
option csharp_namespace = "GrpcClient";
4、項目文件中添加
<ItemGroup>
<Protobuf Include="Protos\greet.proto" GrpcServices="Client" />
</ItemGroup>
proto文件語法
service:定義服務
rpc:定義方法
message:入參、出參必須是一個類,由message
關鍵字定義