学习-golang-grpc/protocol buffers

学习-golang-grpc/protocol buffers


protocol Buffers(与xml json类似),适用于高性能,高响应速度,定义数据结构和服务接口,在序列化/反序列化后,将字符串序列化为 二进制传输,提升传输效率, 可跨平台跨语言基于http2.0(多路复用,2进制头压缩,双向流)基于tcp的长连接(xml json 易读,进行数据交换时设备需要cpu的大量io)

grpc,远程过程调用,Remote Procedure Call,通过protocol buffers 编码承载数据,调用server提供的接口就像是调用本地函数一样,更容易创建分布式服务。grpc就是在c/s开启grpc功能后建立连接,将设备上配置的订阅数据推给服务端,用protocol buffers将数据结构化的proto文件传输
在这里插入图片描述

.proto 文件用于定义接口类型

grpc

  • 1 下载protobuf压缩包解压,配置环境变量path。cmd下protoc --version验证

  • 2 protoc-gen-go(go版本的 Protobuf 编译器插件)安装 ,go get -u github.com/golang/protobuf/protoc-gen-go 便可以在$GOPATH/bin目录下发现这个工具

  • 3 定义proto 文件

  • 在这里插入图片描述

  • 4 把proto文件翻译成go代码:protoc --go_out=plugins=grpc:. test.proto

  • 5 安装依赖包:go get -u -v google.golang.org/grpc

  • 6 服务端逻辑

参考:
http://doc.oschina.net/grpc?t=60133
在这里插入图片描述

rpc

可以基于tcp也可以基于http

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值