阿里云优惠活动,点击链接进行购买: 一年仅需89元即可以购买服务器~。我个人服务器为2核4G配置,也更加推荐购买 2核4G三年799元 配置的服务器。
你可以跟着我的笔记 当我有一台服务器时,我做了什么 来开始维护服务器并搭建应用,将引导你使用 docker 和 k8s 搭建一个自己的服务器开发集群。

# Protobuf

  1. 多进程、多线程与协程的引入

# Protobuf

# protoBuf简介

Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,

可用于通讯协议和数据存储等领域。

数据交互的格式比较

数据交互xml、json、protobuf格式比较

1、json: 一般的web项目中,最流行的主要还是json。因为浏览器对于json数据支持非常好,有很多内建的函数支 持。

2、xml: 在webservice中应用最为广泛,但是相比于json,它的数据更加冗余,因为需要成对的闭合标签。json使 用了键值对的方式,不仅压缩了一定的数据空间,同时也具有可读性。

3、protobuf:是后起之秀,是谷歌开源的一种数据格式,适合高性能,对响应速度有要求的数据传输场景。因为 profobuf是二进制数据格式,需要编码和解码。数据本身不具有可读性。因此只能反序列化之后得到真正可读的数 据。

相对于其它protobuf更具有优势 1:序列化后体积相比Json和XML很小,适合网络传输 2:支持跨平台多语言 3:消息格式升级和兼容性还不错 4:序列化反序列化速度很快,快于Json的处理速速

Protobuf安装

下载 protoBuf: $ git clone https://github.com/protocolbuffers/protobuf.git mac可以直接brew安装 1.下载依赖库(工具) $ brew install automake $ brew install libtool 2.下载Protobuf $ brew install protobuf

protobuf的语法 要想使用 protobuf必须得先定义 proto文件。所以得先熟悉 protobuf的消息定义的相关语法。 定义一个消息类型

标准数据类型 一个标量消息字段可以含有一个如下的类型——该表格展示了定义于.proto文件中的类型,以及与之对应的、在自 动生成的访问类中定义的类型:

编译 :执行以下命令生成转换文件

$ protoc --go_out=./ *.proto
生成 test.pb.go文件 4.使用 protobuf做数据格式转换

# 编译 helloServer.proto文件

$ protoc --go_out=./ *.proto #不加grpc插件
$ protoc --go_out=plugins=grpc:./ *.proto #添加grpc插件 #对比发现内容增加
#得到 helloServer.pb.go文件
Last Updated: 12/30/2019, 1:57:20 PM