zoukankan      html  css  js  c++  java
  • Go GRPC 入门(一)

    前言

    微服务相关
    使用 GRPC 通讯的 Golang 微服务入门
    举例写一个微服务,接收网址发送请求获取返回结果返回

    正文

    安装工具

    安装 protobuf

    这是 proto 文件的编译器
    点我下载
    选择最新的 releases 中的适合你版本的包下载即可
    如 windows 选 win64.zip 下载后解压

    解压后打开包内的 bin 文件夹,里面有 protoc.exe

    将其粘贴到windows的环境变量中的某一个文件夹内以便在 CMD 中随地可访问
    比如将其放至 C:Windows
    打开 CMD 输入 protoc --version
    成功打印当前版本即可

    安装相关包

    安装 golang 的proto工具包
    go get -u github.com/golang/protobuf/proto
    安装 goalng 的proto编译支持
    go get -u github.com/golang/protobuf/protoc-gen-go
    安装 GRPC
    go get -u google.golang.org/grpc

    创建项目

    模拟微服务开发,在某个空文件夹下建立两个文件夹
    分别为 clientserver

    创建 proto 文件

    proto 文件是微服务交互的基本
    proto的语法可见
    GoogleDocs
    这里简单写一个示例(spider.proto)

    syntax = "proto3";  // 协议为proto3
    
    package spider;  // 包名
    
    // 发送请求
    message SendAddress {
        // 发送的参数字段
        // 参数类型 参数名 标识号(不可重复)
        string address = 1;  // 要请求的地址
        string method = 2;  // 请求方式
    }
    
    // 返回响应
    message GetResponse {
        // 接收的参数字段
        // 参数类型 参数名 标识号
        int32 httpCode = 1;  // http状态码
        string response = 2;  // 返回体
    }
    
    // 定义服务,可定义多个服务,每个服务可多个接口
    service GoSpider {
        // rpc请求 请求的函数 (发送请求参数) returns (返回响应的参数)
        rpc GetAddressResponse (SendAddress) returns (GetResponse);
    }
    

    生成 .bp.go 文件

    使用刚才下载的 protoc 工具将 proto 文件编译成 golang 可识别的文件

                                输出的目录 proto所在目录
    protoc --go_out=plugins=grpc:./ ./spider.proto
    

    运行后会在当前目录下生成 spider.pb.go 文件
    该文件是 server 和 client 的通信协议,业务代码不在这里,所以除非必须改,否则勿动

  • 相关阅读:
    去除inline-block出现间距的几种方法
    vscode插件和快捷键
    es6三个点运算符
    jq返回顶部
    jq版轮播图
    js动态操作DOM
    js中的闭包
    es6之箭头函数
    in和hasOwnProperty的区别
    改变this指向的三种方法
  • 原文地址:https://www.cnblogs.com/chnmig/p/12188604.html
Copyright © 2011-2022 走看看