GRPC 是什麼? 有別於傳統的client 和 server 端的連線,而是持續性且高效能的連線, 連線上的架構是HTTP2 協定,使用Protocol Buffers 作為介面描述語言,連線模式,可以1 (SERVER) 對多 (CLIENT),也可雙向溝通,而一般REST 連線只能作到單向構通
一、 建立GRPC的前置作業
二、建立GRPC Server
syntax =
"proto3"; option csharp_namespace = "GrpcService1"; package greet;
// server的名稱為 Greeter service
Greeter { //
Sends a greeting rpc
SayHello (HelloRequest) returns (HelloReply); }
// The
request 參數 name message
HelloRequest { string
name = 1; } // The response 回傳 message message
HelloReply { string
message = 1; } |
三、建立GRPC Client
以下是client的內容 ,但與server端略有不同,
選擇.proto 按下右鍵,在 gprc stub Classes 選擇 client Only
syntax
= "proto3"; option csharp_namespace = "GrpcGreeterClient"; //要自已設定clientOnly package greet;
//
跟server端的server名稱一致 service
Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns
(HelloReply); }
//
The request message containing the user's name. message
HelloRequest { string name = 1; }
//
The response message containing the greetings. message
HelloReply { string message = 1; } |