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 ...
随机推荐
- python中字符串的处理总结
在爬取新浪财经7*24直播中, 遇到了Unicode编码中文转utf-8的问题, 采用如下代码可以实现转化 >>> a='\\u76d1\\u7ba1\\u5bf929' >& ...
- 廖雪峰Java15JDBC编程-3JDBC接口-4JDBC事务
1 数据库事务:Transaction 1.1 定义 若干SQL语句构成的一个操作序列 要么全部执行成功 要么全部执行不成功 1.2 数据库事务具有ACID特性: Atomicity:原子性 一个事务 ...
- thinkphp 自动完成
自动完成是ThinkPHP提供用来完成数据自动处理和过滤的方法,使用create方法创建数据对象的时候会自动完成数据处理. 因此,在ThinkPHP使用create方法来创建数据对象是更加安全的方式, ...
- 期望——邮票收集问题lightoj1342
邮票手机问题: 有n种类型的邮票,问将所有的类型的邮票全部收集起来所要的收集次数期望是多少. 设dp[i]为已经收集了i种类型的票,还要收集n-i种的次数的期望. dp[n]=0; 递推式: dp[i ...
- 洛谷P3694 邦邦的大合唱
题目背景 BanG Dream!里的所有偶像乐队要一起大合唱,不过在排队上出了一些问题. 题目描述 N个偶像排成一列,他们来自M个不同的乐队.每个团队至少有一个偶像. 现在要求重新安排队列,使来自同一 ...
- 【转】浅析BFC及其作用
1. 什么是BFC BFC(block formatting context):简单来说,BFC 就是一种属性,这种属性会影响着元素的定位以及与其兄弟元素之间的相互作用. 中文译为块级格式化上下文.是 ...
- SpringBoot学习笔记(五):SpringBoot集成lombok工具、SpringBoot集成Shiro安全框架
SpringBoot集成lombok工具 什么是lombok? 自动生成setget方法,构造函数,打印日志 官网:http://projectlombok.org/features/index. 平 ...
- Python学习day26-面向对象之小结
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- java笔试之字符串反转
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串. package test; import java.util.Scanner; public class exam04 { public ...
- CAS增加免登陆(Remember Me)功能
1. 打开deployerConfigContext.xml 在 authenticationManager 的bean中增加 <property name="authenticati ...