博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Golang-RPC(三):关于 protobuf, protoc, protoc-gen-go, gRpc
阅读量:3985 次
发布时间:2019-05-24

本文共 1147 字,大约阅读时间需要 3 分钟。

1、protobuf的介绍

google protobuf是一个灵活的、高效的用于序列化数据的协议。相比较XML和JSON格式,protobuf更小、更快、更便捷。

2、protoc

它是一个编译器,将定义的 .proto 文件编译成Java、python、C++、C#、Go等代码片段,你可以复制他们到自己的项目中使用。

当然,如果你熟悉protobuf协议,也可以不使用这个工具。

下载安装

https://github.com/protocolbuffers/protobuf/releases选择 protoc-3.13.0-win64.zip解压,将 D:\software\protoc-3.13.0-win64\bin 添加到环境变量 PATH。打开命令行输入protoc --version输出结果libprotoc 3.13.0linux系统下载 protoc-3.13.0-linux-x86_64.zip解压到 protocvi /etc/profile添加 export PATH=$PATH:/data/www/protoc/binsource /etc/profileprotoc --version

则表示protoc已经按照成功了。

3、protoc-gen-go

使用protoc可以生成指定语言的代码,但是代码不是由protoc生成的,而是它去调指定的语言的代码生成器。因此golang需要安装protoc-gen-go库。

go get -u github.com/golang/protobuf/protoc-gen-go

然后回自动编译安装得到 protoc-gen-go.exe 文件,在 GOPATH/bin 目录下。

确保被添加到环境变量。

同时这个库还提供了其他更多的功能。

4、gRpc

gRPC是由Google公司开源的一款高性能的远程过程调用(RPC)框架,可以在任何环境下运行。该框架提供了负载均衡,跟踪,智能监控,身份验证等功能,可以实现系统间的高效连接。另外,
在分布式系统中,gRPC框架也有有广泛应用。

gRPC中默认采用的数据格式化方式是protocol buffers。

gRPC源码库主页链接如下:https://github.com/grpc/grpc

RPC开源库支持诸如:C++,C#,Dart,Go,Java,Node,Objective-C,PHP,Python,Ruby,WebJS等多种语言,开发者可以自行在gRPC的github主页库选择查看对应语言的实现。

grpc-go库是gRPC库的Golang语言实现版本。主页的Github地址如下:https://github.com/grpc/grpc-go

转载地址:http://ljaui.baihongyu.com/

你可能感兴趣的文章
course_2_assessment_6
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming 排序函数sorted的可选参数
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
visca接口转RS-232C接口线序
查看>>
在unity中建立最小的shader(Minimal Shader)
查看>>
RGB 立方体
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>
linux安装usb wifi接收器
查看>>
关于共享单车定位不准问题
查看>>
ubuntu误删文件造成软件包信息列表损坏无法更新或安装文件
查看>>
终于搞定CString和string之间转换的问题了
查看>>
用防火墙自动拦截攻击IP
查看>>
补充自动屏蔽攻击ip
查看>>
多字节与UTF-8、Unicode之间的转换
查看>>
通信和通讯有什么区别?
查看>>
谷歌走了
查看>>
多线程使用随机函数需要注意的一点
查看>>