• go语言的grpc环境安装


    本文直接用安装包的方式安装。

    源码编译安装参考:https://www.cnblogs.com/abc36725612/p/14288333.html

    环境

    golang的docker image

    docker run -it golang:alpine
    

    go语言的grpc环境安装

    参考官方grpc-go文档:https://grpc.io/docs/languages/go/quickstart/

    1. 添加go依赖包的代理
    # go env -w GO111MODULE=on
    //重要:添加代理,参考:https://goproxy.cn/
    # go env -w GOPROXY=https://goproxy.cn,direct
    
    1. 安装protobuf
    # apk add protobuf
    fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
    fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
    (1/7) Installing libgcc (9.3.0-r2)
    (2/7) Installing libstdc++ (9.3.0-r2)
    (3/7) Installing libprotobuf (3.12.2-r0)
    (4/7) Installing libprotoc (3.12.2-r0)
    (5/7) Installing protoc (3.12.2-r0)
    (6/7) Installing libprotobuf-lite (3.12.2-r0)
    (7/7) Installing protobuf (3.12.2-r0)
    Executing busybox-1.31.1-r19.trigger
    OK: 13 MiB in 22 packages
    //查看版本
    # protoc --version
    libprotoc 3.12.2
    
    1. 安装protoc-gen-go插件
    # go get google.golang.org/protobuf/cmd/protoc-gen-go 
    
    1. 安装grcp-go
    # go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
    
    1. 修改PATH,使得protoc 编译器能找到protoc-gen-go插件
    export PATH="$PATH:$(go env GOPATH)/bin"
    

    环境安装完成!

    验证

    下载示例代码:https://github.com/grpc/grpc-go

    服务端启动

    $ docker ps | grep golang
    f37f662a3f54        golang              "/bin/sh"           14 minutes ago      Up 14 minutes                           ecstatic_lamport
    $ docker exec -it f37f662a3f54 sh
    
    # cd /grpc-go/examples/helloworld/
    helloworld # ls
    greeter_client  greeter_server  helloworld
    
    helloworld # go run greeter_server/main.go
    go: downloading github.com/golang/protobuf v1.4.2
    go: downloading google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98
    go: downloading golang.org/x/net v0.0.0-20190311183353-d8887717615a
    go: downloading golang.org/x/text v0.3.0
    2021/01/16 11:41:50 Received: world
    

    客户端启动

    $ docker ps | grep golang
    f37f662a3f54        golang              "/bin/sh"           14 minutes ago      Up 14 minutes                           ecstatic_lamport
    $ docker exec -it f37f662a3f54 sh
    
    # cd /grpc-go/examples/helloworld/
    helloworld # ls
    greeter_client  greeter_server  helloworld
    
    helloworld # go run greeter_client/main.go
    2021/01/16 11:41:50 Greeting: Hello world
    

    测试成功!

  • 相关阅读:
    goj 来自不给标题的菜鸟出题组(巴什博弈+素数判定)
    goj 城市交通线(简单并查集)
    ACM_鸡兔同笼(二元一次方程)
    ACM_魔仙岛探险(深搜)
    ACM_螺旋填数
    ACM_开心消消乐
    构建工具是如何用 node 操作 html/js/css/md 文件的
    学习使用ExpressJS 4.0中的新Router
    请求时token过期自动刷新token
    Express的基本使用
  • 原文地址:https://www.cnblogs.com/abc36725612/p/14287282.html
Copyright © 2020-2023  润新知