zoukankan      html  css  js  c++  java
  • grpc安装

    整个过程就是:

    1、客户端 发送 数据(以字节流的方式)

    2、服务端接收,并解析。 根据 约定 知道要知道执行什么。然后把结果返回客户端 RPC就是 把 1、上述过程封装下,使其操作更加优化 2、使用一些大家都认可的协议 使其规范化 3、做成一些框架。直接或间接产生利益

    刚才我们讲的“赚钱利器” 其中一个框架就是一款语言中立、平台中立、开源的远程过程调用(RPC)框架 gRpc 。

    支持java、c++、golang、php多个语言版本。 我们只需要关心 golang版本 https://github.com/grpc/grpc-go

    创建一个空项目,使用go module的方式 安装 go get -u google.golang.org/grpc 安装

    1、 创建一个环境变量 叫做GOPROXY (大小写敏感),值是https://goproxy.io  (必须是https。不要自己篡改url)
    
       2、重启你的终端(如果是windows cmd的话。Linux 则export GOPROXY=https://goproxy.io ) ,然后 再正常执行 go get xxxxx
    安装不了的话请展开
    目前阿里云也开放了代理服务
    
    戳这里http://mirrors.aliyun.com/goproxy/
    
    
    
    也就是说:设置成如下变量,就可以了
    
    
    export GOPROXY=https://mirrors.aliyun.com/goproxy/
    View Code

    Protobuf

    Google Protocol Buffer( 简称 Protobuf) 轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储。

    特点:性能高、传输快、维护方便,反正就是各种好,各种棒 一些第三方rpc库都会支持protobuf

    github地址: https://github.com/protocolbuffers/protobuf

    golang库所属地址 https://github.com/golang/protobuf

     安装

    本课时演示在windows里的安装 第一步来到这: 查看 https://github.com/protocolbuffers/protobuf/blob/master/src/README.md#c-installation---windows 继而安装https://github.com/protocolbuffers/protobuf/releases/latest (仅做学习使用 )

    解压后放到 某个 你喜欢的文件夹中(不可以有中文,不能有空格,没有为什么)

    譬如本课时放在了D:systoolprotoc39 然后把 D:systoolprotoc39in 加入环境变量 这是protobuf编译器,

    将.proto文件,转译成protobuf的原生数据结构

    protobuf相关文档 https://developers.google.com/protocol-buffers/docs/gotutorial

    安装插件

    go get github.com/golang/protobuf/protoc-gen-go

    此时会在你的GOPATH 的bin目录下生成可执行文件

    . protobuf的编译器插件protoc-gen-go 等下我们执行protoc 命令时 就会自动调用这个插件

    创建中间文件

    syntax="proto3";
    package services;
    message  ProdRequest {
        int32 prod_id =1;   //传入的商品ID
    }
    message ProdResponse{
        int32 prod_stock=1;//商品库存
    }
    
    
    然后执行 protoc --go_out=../services/ Prod.proto

  • 相关阅读:
    会议室预订系统
    event chrome firefox 获取点击对象的 id 类
    微信支付 301 500 php 7 simplexml_load_string
    会议室预订
    ini_set('date.timezone','Asia/Shanghai');
    UnionID OpenID
    Location 接口表示其链接到的对象的位置
    confirm() event.target.getAttribute('id')
    php 代替 js实现自定义时间选择器
    前端页面 重复提交避免
  • 原文地址:https://www.cnblogs.com/sunlong88/p/11845469.html
Copyright © 2011-2022 走看看