美文网首页
grpc 使用

grpc 使用

作者: 咯噔爸比 | 来源:发表于2021-03-19 11:22 被阅读0次

    1.第一步安装 protobuf

    传送门:https://blog.csdn.net/u014534808/article/details/80203018

    在此页面选择合适的版本,我选择的是最新的3.5.0,需要注意的mac下是不要下载protoc-3.5.1-xxx的包,因为这些包缺少相关命令,会导致后面安装失败。 此处我推荐安装protobuf-all-3.5.0.tar.gz

    2. 解压

    tar -zxf protobuf-all-3.5.0.tar.gz
    

    3. 跳转到解压后的目录

    cd  protobuf-3.5.0
    

    4. 设置编译目录

    ./configure --prefix=/usr/local/protobuf
    /usr/local/protobuf/ 为自己配置的编译安装目录
    

    5. 安装

    还是在解压的目录下进行

    make
    make install
    

    6. 配置环境变量

    sudo  vim .bash_profile
    

    7. 添加配置文件

    export PROTOBUF=/usr/local/protobuf
    export PATH=$PROTOBUF/bin:$PATH
    PS: 如果第七步数据保存不了可以先切换到root 用户进行保存
    sudo -i
    source .bash_profile
    

    9. 测试安装结果

    输入protoc --version
    看到如下结果表示安装成功:

    protoc --version
    libprotoc 3.5.0
    

    拉取grpc代码

    ## github 拉取代码错误
    cd src/google.golang.org
    git clone https://github.com/grpc/grpc-go grpc 报错
    fatal: unable to access 'https://github.com/grpc/grpc-go/': Failed to connect to github.com port 443: Operation timed out
    

    修改站点两个地址
    打开ipaddress.com,查询如下两个域名,并分别记录下其对应的ip:
    1、github.com
    2、github.global.ssl.fastly.net

    安装 Go 的 protoc 插件:

    # go get -u github.com/golang/protobuf/protoc-gen-go 失败的话
    cd src/google.golang.org
    git clone https://github.com/google/go-genproto genproto
    
    

    编写用于gRPC的pb文件

    # cd $GOPATH/src/
    # mkdir example
    # cd example
    # mkdir helloworld
    # vim helloworld/helloworld.proto
    
    syntax = "proto3";
    option go_package = ".;helloworld";# 需要增加不然会报错
    package helloworld;
    
    // The greeting service definition.
    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;
    }
    

    编译pb生成go代码

    # protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld
    

    编写服务

    编写服务执行就可以了

    相关文章

      网友评论

          本文标题:grpc 使用

          本文链接:https://www.haomeiwen.com/subject/zojkcltx.html