iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
0

gRPC 是Google發起的一個開源遠端程序呼叫系統,基於HTTP/2協定及Protocol Buffers序列化協定設計而成的,主打著高性能、跨平台、跨語言。

Protocol Buffers的簡稱為ProtoBuf,是一種序列化的資料結構協定,使用者只要定義文件描述檔(.proto),就能透protoc自動轉成服務端的接口程式。


圖片來源

如何定義ProtoBuf

syntax = "proto3";

package mypb;

option go_package = ".;mypb";

service MyprotoService {
    rpc AddUser(UserRequest) returns (UserResponse){}
    rpc LoginUser(UserRequest) returns (UserResponse){}
    rpc UsersList(UsersListRequest) returns (UsersListResponse){}
}

message UserRequest {
    string user_name = 1;
    string user_pwd = 2;
}

message UserResponse {
    string result = 1;
}

message UsersListRequest {}

message UsersListResponse {
    string result = 1;
    repeated string user_name = 2;
}

由上述簡單的ProtoBuf文件,可以看出message是用來定義Request和Response,我們總共定義3個簡單的function

  • AddUser: 新增使用者
  • LoginUser: 使用者登入
  • GetUsersList: 使用者列表

用下列指令執行,將.proto產生出對應語言的程式碼,命令完成會得到副檔名為".pb.go"的檔案。

✗ protoc -I . *.proto --go_out=plugins=grpc:.

上一篇
Day4 Http Server
下一篇
Day6 gRPC (2) Server
系列文
微服務系統建置與監控30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言