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 ...
随机推荐
- fiddler抓包工具遇到的问题-------502报错
遇到的问题: 打开浏览器,输入本机的虚拟机地址的bugfree,出现无法连接的提示,具体是: [Fiddler] The connection to '192.168.211.128' failed. ...
- 2016.9.10初中部上午NOIP普及组比赛总结
2016.9.10初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1340 好不爽!翻车了!不过排名差不多在中间偏上一点, 还好不是 ...
- java 获取本机所有IP地址
import java.net.Inet6Address; import java.net.InetAddress; import java.net.NetworkInterface; import ...
- laravel中如何使用Redis(Redis是什么)
laravel中如何使用Redis(Redis是什么) 一.总结 一句话总结: 基于内存亦可持久化键值数据库 Redis是完全开源免费的,遵守BSD协议,是一个高性能的键值数据库.是当前最热门的的的N ...
- IDEA中log4j 无法输出到本地,properties配置无效问题。
log4j添加以后无法输出日志信息,经检查(按以下顺序): 1.jar包导入正常 2.log4j.properties配置文件正常 3.logger.info可以输出,但是properties文件无效 ...
- Mybatis和spingboot整合
0. 导包 <!-- 统一管理springboot相关的包 --> <parent> <groupId>org.springframework.boot</g ...
- neo4j的搭建和实例使用
一. 简介 neo4j是当今最流行的图数据库,基于 节点+关系 的架构,保存了图形数据的基本元素.同时,数据库也支持通过基础数据元素和独特的CQL查询语法,快速方便的检索.构建复杂的图表关系结果. 二 ...
- Activiti流程定义语言
1.流程(process) bpmn文件一个流程的根元素.一个流程就代表一个工作流. 2.顺序流(sequenceFlow) 顺序流是连接两个流程节点的连线,代表一个节点的出口.流程执行完一个节点后, ...
- 当双方Visual studio windows SDK不一样的时候的解决办法
一. 把以前的SDK全部变成你的SDK 二.去重新装一个SDK版本和以前SDK一样的(这种解决办法太麻烦)
- Linux设置复制粘帖的快捷方式
一.快捷设置 安装gpm:yum install -y gpm* 开启gpm服务:systemctl start gpm 按住鼠标左键,选中想要复制的内容,松开就完成复制,再在复制的位置按右键就完成粘 ...