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 安装
、 创建一个环境变量 叫做GOPROXY (大小写敏感),值是https://goproxy.io (必须是https。不要自己篡改url) 、重启你的终端(如果是windows cmd的话。Linux 则export GOPROXY=https://goproxy.io ) ,然后 再正常执行 go get xxxxx
安装不了的话请展开
目前阿里云也开放了代理服务 戳这里http://mirrors.aliyun.com/goproxy/ 也就是说:设置成如下变量,就可以了 export GOPROXY=https://mirrors.aliyun.com/goproxy/
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:\systool\protoc39 然后把 D:\systool\protoc39\bin 加入环境变量 这是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 =; //传入的商品ID
}
message ProdResponse{
int32 prod_stock=;//商品库存
} 然后执行 protoc --go_out=../services/ Prod.proto
grpc安装的更多相关文章
- grpc 安装以及墙的解决方法
1. 默认官方文档 go get -u google.golang.org/grpc 因墙的问题,大部分安装是无法完成的 2. 解决方法 a. grpc mkdir -p $GOAPTH/src/go ...
- gRPC安装的小问题
INSTALL.md提到下述前提条件 #Pre-requisites ##Linux ```sh $ [sudo] apt-get install build-essential autoconf l ...
- linux下安装grpc插件 (c++和go语言)
在debian/ubuntu系统下,需要做如下准备操作: $ [sudo] apt-get install build-essential autoconf libtool pkg-config 如果 ...
- gRPC helloworld service, RESTful JSON API gateway and swagger UI
概述 本篇博文完整讲述了如果通过 protocol buffers 定义并启动一个 gRPC 服务,然后在 gRPC 服务上提供一个 RESTful JSON API 的反向代理 gateway,最后 ...
- google的grpc在golang中的使用
GRPC是google开源的一个高性能.跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x,基于Netty 4.x. 前面写过一篇golang标准库的rpc包的用法,这篇文章接着讲一 ...
- 记python使用grpc
using grpc in Python gRPC是基于http/2的RPC框架,使用ProtoBuf作为底层数据序列化.Nginx服务器2018年3月17日引入gRPC支持. gRPC 是用来实现跨 ...
- [golang grpc] 框架介绍
官方网站 http://www.grpc.io/ http://www.grpc.io/docs/quickstart/go.html grpc安装 • go安装 目前grpc需要go 1.5以上版本 ...
- CentOS6.5 环境安装配置
一.GO环境配置 1.运行命令进入/usr/local/src目录:cd /usr/local/src 2.下载安装包:运行wget --no-check-certificate https://st ...
- gRPC入坑记
概要 由于gRPC主要是谷歌开发的,由于一些已知的原因,gRPC跑demo还是不那么顺利的.单独写这一篇,主要是gRPC安装过程中的坑太多了,记录下来让大家少走弯路. 主要的坑: 如果使用PHP.Py ...
随机推荐
- antidependence and data hazard
See below example. ADDD F6, F0, F8 SUBD F8, F10, F14 Some article would say that “ There’s an ant ...
- com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'springCloudBus.anonymous.6Xa99MDZTJyHKdPqMyoVEA' in
项目启动报此异常,解决方式:用root权限登陆rabbitmq,admin处添加vhost
- springboot让内置tomcat失效
一.POM(去除内嵌tomcat后,需要添加servlet依赖) <dependency> <groupId>org.springframework.boot</grou ...
- 最后的egret
坚持做一件事真的好难~ 决定重新写博客的时候想着一定要坚持一个周一篇,然而.... 年后上班老板找我的第一件大事:以后公司的棋牌产品不会有大的动作了:公司PHP(内部用的运营后台)的小姐姐休产假了,我 ...
- 如何用maven读取本地架包
一.这篇微博是建立在已经把架包复制过来的情况下的.其余情况另外谈. 二.本篇文章用的是cmd控制的 maven的安装请看以下链接:https://jingyan.baidu.com/article/3 ...
- iOS之CAScrollLayer属性简介和使用
1.CAScrollLayer的简介 CAScrollLayer用于显示一个滑动图层的一部分,可以确定滑动方向和可视区域面积,限制不滑出区域外!相关属性如下:其中 /* Scroll the cont ...
- 模板——AC自动机
传送门:QAQQAQ 定义nxt[u]=v表示从u开始不断沿着失配边跳到的第一个是标记点的端点v,那么我们再匹配时沿着last跳,每跳到一个last,它就一定对应一个模式串,所以效率是非常高的. 和K ...
- DevOps理论+实践之路
DevOps理论+实践之路 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关注 ...
- Access数据库连接字符串
<connectionStrings> <add name="connStr" connectionString="server=.;uid=home; ...
- C#用API可以改程序名字
[DllImport("user32.dll", EntryPoint = "FindWindow")] public static extern int Fi ...