《go入门grpc》第二章:在proto文件中定义gPRC服务

一、介绍

Protocol Buffers是一种语言中立、跨平台,用来序列化结构化数据的一阵协议。
主要定义了一个proto文件,就可以在多种编程语言,多种操作系统使用。
我们使用最新的proto3版本。
我们先新建一个 hello.proto文件

mkdir grpc-demo1 && cd grpc-demo1 && mkdir api && cd api && touch  hello.proto

最后我们看到一个目录
image.png

➜  grpc-demo1 git:(master) ✗ tree
.
└── api
    └── hello.proto

1 directory, 1 file

二、proto文件基础知识

我们先打开hello.proto文件,写入以下代码,然后讲解一下。
一个proto文件的主要构成有 三 部分。

  1. syntax,package,import 定义协议格式以及proto命名空间,加载其他的proto包名
  2. go_package 生成go文件 package 名称
  3. service,message proto文件的内容,service定义grpc,message定义消息
syntax = "proto3";

package hello;
import "google/protobuf/timestamp.proto";

option go_package = "./api;api";

service Say {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
  google.protobuf.Timestamp last_updated = 2;
}

你可能感兴趣的:(gogrpcproto)