Go gRPC环境安装教程示例详解

目录
  • 前言
  • 安装 protobuf
  • 安装相关包
  • 创建并编译proto文件
  • VSCode-proto3插件介绍

前言

gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。

gRPC 默认使用 protocol buffers,这是 Google 开源的一套成熟的结构数据序列化机制,它的作用与 XML、json 类似,但它是二进制格式,性能好、效率高(缺点:可读性差)。

安装 protobuf

1.下载地址:https://github.com/protocolbuffers/protobuf/releases

根据自身电脑的操作系统,选择最新的releases版本下载

2.解压后在bin目录找到protoc.exe,然后把它复制到GOBIN目录下

一般操作是把protoc.exe所在的目录配到环境变量里,这里直接把protoc.exe复制到GOBIN目录下,前提是环境变量已经配置了GOBIN环境变量。

3.打开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

创建并编译proto文件

1.新建proto文件夹,在里面新建simple.proto文件

 syntax = "proto3";// 协议为proto3
package proto;
// 定义发送请求信息
message SimpleRequest{
    // 定义发送的参数
    // 参数类型 参数名 标识号(不可重复)
    string data = 1;
}
// 定义响应信息
message SimpleResponse{
    // 定义接收的参数
    // 参数类型 参数名 标识号(不可重复)
    int32 code = 1;
    string value = 2;
}
// 定义我们的服务(可定义多个服务,每个服务可定义多个接口)
service Simple{
    rpc Route (SimpleRequest) returns (SimpleResponse){};
}

2.编译proto文件

cmd进入simple.proto所在目录,运行以下指令进行编译

protoc --go_out=plugins=grpc:./ ./simple.proto

VSCode-proto3插件介绍

使用VSCode的朋友看这里,博主介绍一个VSCode插件,方便对编辑和编译proto文件。

  • 扩展程序中搜索 VSCode-proto3,然后点击安装。
  • 在设置中找到setting.json文件,添加vscode-proto3插件配置
   // vscode-proto3插件配置
    "protoc": {
        // protoc.exe所在目录
        "path": "C:\\Go\\bin\\protoc.exe",
        // 保存时自动编译
        "compile_on_save": true,
        "options": [
            // go编译输出指令
            "--go_out=plugins=grpc:."
        ]
    }

每次编辑完proto文件后,只需要保存,它就会自动帮助完成编译。而且代码有高亮显示,代码自动补全,代码格式化等功能。

教程源码地址:https://github.com/Bingjian-Zhu/go-grpc-example

以上就是Go gRPC环境安装教程示例详解的详细内容,更多关于Go gRPC环境安装教程的资料请关注我们其它相关文章!

(0)

相关推荐

  • Go gRPC超时控制Deadlines用法详解

    目录 Deadlines 为什么要设置 gRPC Client Server 验证 总结 Deadlines 今天将介绍 gRPC Deadlines 的用法,这一个必备技巧.内容也比较简单. Deadlines 意指截止时间,在 gRPC 中强调 TL;DR(Too long, Don't read)并建议始终设定截止日期,为什么呢? 为什么要设置 当未设置 Deadlines 时,将采用默认的 DEADLINE_EXCEEDED(这个时间非常大) 如果产生了阻塞等待,就会造成大量正在进行的请

  • go实现grpc四种数据流模式

    目录 2.1 简单模式 2.2 服务端数据流模式 2.3 客户端数据流模式 2.4 双向数据流 3.1 代码目录 3.2 编写stream.proto文件 3.3 编写server文件 3.4 编写client文件 1. 什么是数据流 grpc中的stream,srteam顾名思义就是一种流,可以源源不断的推送数据,很适合传输一些大数据,或者服务端和客户端长时间数据交互,比如客户端可以向服务端订阅一个数据,服务端就可以利用stream,源源不断地推送数据. 底层还原成socket编程 2. gr

  • 关于go-micro与其它gRPC框架之间的通信问题及解决方法

    目录 客户端改造 服务端改造 运行效果 在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通.不过当两者混合使用的时候,互相访问就成了问题.比如使用go-micro插件生成的gRPC客户端访问基于gRPC官方插件创建的服务端时就会出现如下错误: {"id":"go.micro.client","code":501,"status":"Not Implemented

  • Go gRPC教程实现Simple RPC

    目录 前言 新建proto文件 创建Server端 创建Client端 总结 前言 gRPC主要有4种请求和响应模式,分别是简单模式(Simple RPC).服务端流式(Server-side streaming RPC).客户端流式(Client-side streaming RPC).和双向流式(Bidirectional streaming RPC). 简单模式(Simple RPC):客户端发起请求并等待服务端响应. 服务端流式(Server-side streaming RPC):客户

  • Go语言程序开发gRPC服务

    目录 前言 介绍 入门 proto server client 流方式 proto server client 验证器 proto Token 认证 认证函数: 拦截器: 初始化: 实现接口: 连接: 单向证书认证 生成证书 gRPC 代码 双向证书认证 生成带 SAN 的证书 gRPC 代码 Python 客户端 总结 前言 gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用. 作为一名程序员,学就对了. 之前用 Python 写过一些 gRPC 服务

  • go grpc安装使用教程

    gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具.其客户端提供Objective-C.Java接口,服务器侧则有Java.Golang.C++等接口,从而为移动端(iOS/Androi)到服务器端通讯提供了一种解决方案. 当然在当下的环境下,这种解决方案更热门的方式是RESTFull API接口.该方式需要自己去选择编码方式.服务器架构.自己搭建框架(JSON-RPC). 1. 前提 确保go的版本在1.6及以上 确保glibc版本在2.14及

  • golang下grpc框架的使用编写示例

    目录 1. 什么是grpc和protobuf 1.1 grpc 1.2 protobuf 2.go下grpc 2.1官网下载protobuf工具 2.2 下载go的依赖包 2.3 编写proto文件 2.4 生成hello.pb.proto文件 2.5 编写server端代码 2.6 编写client端代码 2.7 python和go相互调用实践(跨语言调用) 1. 什么是grpc和protobuf 1.1 grpc gRPC是一个高性能.开源和通用的RPC框架,面向移动和HTTP/2设计. 目

  • Golang开发gRPC服务入门介绍

    目录 1.安装protoc 2.安装protoc的Golang gRPC插件 3.编写proto文件 4.生成gRPC代理代码 5.编写gRPC服务端程序 6.编写gRPC客户端程序 7.运行程序 gRPC是Google发起的一个开源RPC框架,使用HTTP/2传输协议,使用Protocol Buffers编码协议,相比RESTful框架的程序性能提高不少,而且当前流行的编程语言基本都已经支持. Golang开发gRPC应用程序的套路也已经很清晰,这篇文章就来做一个简单的介绍,算是入门. 1.安

  • Go gRPC环境安装教程示例详解

    目录 前言 安装 protobuf 安装相关包 创建并编译proto文件 VSCode-proto3插件介绍 前言 gRPC 是一个高性能.开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,带来诸如双向流.流控.头部压缩.单 TCP 连接上的多复用请求等特.这些特性使得其在移动设备上表现更好,更省电和节省空间占用. 在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务. gRPC 默认使用 protocol

  • Windows 下python3.8环境安装教程图文详解

    python3.8新功能相关文章 Python 3.8 新功能大揭秘[新手必学] Python 3.8 新功能来一波(大部分人都不知道) 第一步 下载python3.8,官网下载较慢,我已经下载好了 64位 32位 第二步 双击安装,记得勾选红框框! 不勾选的话,安装完需要自己配置环境变量 等待即可 第三步 完成安装,检验是否安装成功 ctrl+R打开运行,输入cmd打开命令行 命令行中运行输入python测试是否运行(若电脑中同时有python2和python3则输入python3来指定运行的

  • windows系统下node.js环境配置与安装教程图文详解(详细版)

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网https://nodejs.org/en/download/ 这里用的是 第二步:安装nodejs 下载完成之后,双击 node-v6.9.1-x64.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 第三步:安装相关环境 打开C:\Program Files\

  • python3.6环境安装+pip环境配置教程图文详解

    1.python安装可以跨平台 2.有两个版本2.7和3.6,第三方库适用2.7版,两个版本不兼容 windows安装: 第一种方法官网安装: 在官网下载安装包如图: 图下点击是默认下载32位所以我们需要历史版本下载 如图点击: 下载途中标记的: 按照图中箭头执行: 这里选中存放的路径和把配置环境变量选项勾上,如图: 安装完成 测试结果 如果出现图下的就是环境变量没有配置好: 配置环境变量: 把图中2个路径配置到环境变量中 再次输入python 如图: python就安装好了; 第二种安装方法,

  • vue实例成员 插值表达式 过滤器基础教程示例详解

    目录 一. 什么是Vue 二.为什么学Vue 三.如何使用Vue 下载安装? 插值表达式 四.vue特点 1.虚拟DOM 2.数据的双向绑定 3.单页面应用 4.数据驱动 五.Vue实例 六.实例成员 - 挂载点 | el - 自定义插值表达式括号| delimiters - 数据 | data - 过滤器 | filters - 方法 | methods - js对象(即字典)补充 - 插值表达式转义 | delimters - 计算属性 | computed - 监听属性 | watch 一

  • webpack 5.68.0版本教程示例详解

    目录 起步 1. 基本安装 2. 配置出入口 plugin 1. html-webpack-plugin 2. progress-bar-webpack-plugin loader 1. css-loader与style-loader 2. url-loader与file-loader 3. sass-loader 4. postcss-loader 5. babel-loader 搭建环境 1. 开发环境与生产环境 2. 配置别名 代码分离 1. webpack-bundle-analyzer

  • mysql 5.7.17的最新安装教程图文详解

    mysql-5.7.17-winx64是现在最新版本的Mysql,这是免安装的,所以要进行些配置 下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-winx64.zip 1:下载安装包,将其解压到一个文件夹下 2:复制my-default.ini,并重命名为my.ini,然后用记事本打开输入mysql的基本配置: [mysql] ; 设置mysql客户端默认字符集 default-character-set=utf8 [my

  • Mysql5.7.11绿色版安装教程图文详解

    Mysql5.7.11绿色版安装教程图文详解如下所示: 1.解压mysql-5.7.11压缩包到想要存放的磁盘文件夹中: 2.在文件夹中新建一个data文件夹和新建一个my.ini文件,并配置my.ini文件 my.ini文件内容:关键点为配置Mysql文件夹中的data目录及存储根目录 3.在我的电脑--属性--高级系统设置--环境变量--配置path变量: 变量值为: 4.使用管理员身份打开cmd.exe程序 注意:如果未使用管理员身份打开的cmd.exe,在mysql安装过程中会出现 --

  • mysql-8.0.15-winx64 解压版安装教程图文详解

    1.官网下载,并解压 https://dev.mysql.com/downloads/mysql/ 2.设置环境变量 配置MYSQL_HOME为MySQL的解压路径,并在path设置;%MYSQL_HOME%\bin 3.在MySQL解压路径下,新建my.ini 配置初始化参数: [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:

  • mysql-8.0.16 winx64的最新安装教程图文详解

    最近刚学习数据库,首先是了解数据库是什么,数据库.数据表的基本操作,这就面临了一个问题,mysql的安装,我这里下载的是64位的,基于Windows的,以下是在我电脑上的安装过程,希望可以帮助到大家. 1.在mysql的官网上去下载,链接是 https://dev.mysql.com/downloads/mysql/ ,如图1-1,1-2所示,点击downloads,然后会弹出图1-3,点击No thanks,jast start my download.即可,当然你也可以注册一下. 图 1-1

随机推荐