php brotobuf,用Golang构建gRPC服务
根据官方文档要求需要提供一下环境支持
go环境已经搭建成功了,上一篇文章安装了protoc编辑器,现在只需要安装所需插件即可。
1.安装grpc所需要的插件:protoc-gen-go、protoc-gen-go-grpcgo get google.golang.org/protobuf/cmd/protoc-gen-go \
google.golang.org/grpc/cmd/protoc-gen-go-grpc
执行上面命令之后会在 $GOPATH/bin目录生成protoc-gen-go,protoc-gen-go-grpc两个文件
2.更新环境变量,使用export命令或者编辑配置文件均可。方式一:使用export命令
export PATH="$PATH:$(go env GOPATH)/bin"方式二:编辑 ~/.bash_profile文件,在文件末尾添加 export PATH=$PATH:$GOROOT/bin
vim ~/.bash_profile
编辑配置文件之后,使用source命令使其生效source ~/.bash_profile
到此为止,理论上现在环境已经插件安装成功了,但是在使用的过程中仍然提示不支持protoc-gen-go插件。
最后发现在一篇文章找到原因了,protoc-gen-go的版本问题。参考文献:https://blog.csdn.net/kalulio...
3.重新安装protoc-gen-go插件,问题解决。go get github.com/golang/protobuf/protoc-gen-go
4.测试
查看项目目录
执行命令生成对应的brotobuf 文件protoc ./protobuf/*.proto --go_out=plugins=grpc:.
大功告成!
php brotobuf,用Golang构建gRPC服务相关推荐
- 用Golang构建gRPC服务
本教程提供了Go使用gRPC的基础教程 在教程中你将会学到如何: 在.proto文件中定义一个服务. 使用protocol buffer编译器生成客户端和服务端代码. 使用gRPC的Go API为你的 ...
- 使用Golang搭建gRPC服务提供给.NetCore客户端调用
gRPC概述 RPC 说到gRPC就不得不提RPC,所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,简单点来说就是我A机器 ...
- 使用Golang搭建gRPC服务提供给.NetCore调用
文章目录 gRPC概述 RPC gRPC又是什么呢 安装 Golang IDE(Goland) Protocol Buffer 下载Protocal Buffer 配置Protocal Buffer编 ...
- grpc(3):使用 golang 开发 grpc 服务端和client
1,关于grpc-go golang 能够能够做grpc的服务端和client. 官网的文档: http://www.grpc.io/docs/quickstart/go.html https://g ...
- 经济学人使用Golang构建微服务历程回顾
关键点 经济学人内容分发系统需要更大的灵活性,将内容传递给日益多样化的数字渠道.为了实现这一灵活性目标并保持高水平的性能和可靠性,平台从一个单体结构过渡到微服务体系结构. 用Go编写的服务是新系统的一 ...
- golang 构建HTTP服务
一个go最简单的Http服务器程序 package mainimport ("fmt""net/http" )func IndexHandler(w http. ...
- golang构建htpp服务
1.简单实现 server package mainimport ("flag""net/http" )func main() {host := flag.St ...
- 深入浅出 gRPC 01:gRPC 服务端创建和调用原理
目录 1. RPC 入门 1.1 RPC 框架原理 1.2 业界主流的 RPC 框架 1.3 gRPC 简介 1.3.1 gRPC 概览 1.3.2 gRPC 特点 2. gRPC 服务端创建 2.1 ...
- 从零开始构建gRPC的Go服务
介绍 Protocol Buffers and gRPC是用于定义通过网络有效通信的微服务的流行技术.许多公司在Go中构建gRPC微服务,发布了他们开发的框架,本文将从gRPC入门开始,一步一步构建一 ...
最新文章
- SAP MM模块常用概念--供应商评价
- php access 插入,如何使用PHP將附件插入Access數據庫?
- python调用.net动态库
- 直接输入地址访问服务器上的静态资源
- Boost:与gz文件相关的操作实例
- 设计模式:桥接模式(Bridge Pattern)
- 距离算法在概率统计C语言,基于CBM-TOF探测器无触发数据获取系统的压缩算法-应用概率统计.PDF...
- 图论--最短路-- Dijkstra模板(目前见到的最好用的)
- android 多态如何组件化,Android组件化之子模块之间通信方案
- jQuery Portamento 滑动定位
- 敏捷开发免费管理工具——火星人预览之五:常见问题问答
- webpack 4.0 配置方法以及错误解决
- 【转】Prewitt 算子
- sps2013安装错误
- ZFAKA最新版最简安装教程
- 音视频开发系列(2)PCM音量控制(高级篇)
- 如何设置无线路由器提高迅雷下载速度
- 使用python实现新浪微博登陆
- python中字典的常用函数_Python字典(Dict)详解 - 常用函数详解
- 微信注册页面html实现,微信注册.html
热门文章
- 软件技术实习项目:实验三、迷宫游戏设计
- 【MDPI】全球最大 OA 出版商旗下所有期刊被拉入黑名单,包括 98 本 SCI 期刊
- PSSH 轻量化运维工具安装和使用
- android metal,魅蓝metal评测:金属机身/Flyme5.1系统
- opencv 脸部识别_实时面部识别如何与OpenCV一起使用?
- 联想台式主机拆机教程_联想z465怎么拆机 联想z465拆机教程【图文详解】
- 项目管理-功能数据流程图
- 车辆预期功能安全标准21448笔记(七)
- 成功实施SOA:从物理排列到化学反应
- 佳博Gprinter EVA G 打印机驱动