Linux下安装protobuf

一、protobuf简介:Google发明的一种全新的数据交换格式

当前分布式Web系统之间交换数据的所用数据格式的类型中,最常见的依然是json与XML。不过Google的技术大牛们认为json/XML这些文本类型的数据格式传输效率太差,于是他们发明了一种全新的数据格式:protobuf(https://code.google.com/p/protobuf/ )。

protobuf是一种序列化结构数据(serializing structured data)。数据在保存及传输过程中以二进制编码形态存在,相对于文本格式的数据形式,大大提高了效率。同时,由于protobuf的数据中不携带数据结构定义的信息(Schema以及类似xml中标签名称),又进一步减少了数据里的冗余信息。

据统计,一条消息数据,用protobuf序列化后的数据大小是json的10分之一,xml格式的20分之一,是传统的二进制序列化的10分之一,所以protobuf的性能优势还是很明显的。事实上这种技术早已在Google的服务中大量被应用。另外,Google也将此技术开源化来促进推广。

对于一般的开发者来说,有可能需要用到protobuf的情况:

  • 对接Google的某种服务,例如开发DSP广告系统,需要对接Google的广告RTB交易平台。
  • 在分布式Web系统之间交换数据时,对传输效率有非常高的要求。

官方目前仅提供3种编程语言的实现: C++, Java, Python。 
虽然有许多第三方编程人员开发了PHP版本的protobuf实现,但是经过兔哥实际体验,发现非常不成熟,无法在实际项目中使用。所以如果你需要在生产环境中使用protobuf,那只能选择C++, Java, Python这3种语言,别再花时间去寻找php等版本的第三方实现了。

二、Linux下安装protobuf环境(C++, Python)

前提:需要gcc, gcc-c++, make, build等编译环境 
#yum -y install gcc gcc-c++ libstdc++-devel make build

1. 下载protobuf源代码(当前最新版本为:2.5.0) 
#cd /opt 
#wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

2. 解压,编译,安装 
#tar zxvf protobuf-2.5.0.tar.gz 
#cd protobuf-2.5.0 
#./configure 
#make 
#make check 
#make install

3. 继续安装protobuf的python模块(如果不用python,可跳过这一步) 
#cd ./python 
#python setup.py build 
#python setup.py test 
#python setup.py install

4. 安装完成,验证Linux命令 
#protoc –version

5. 验证Python模块是否被正确安装 
#python 
>>>import google.protobuf 
如果没有报错,说明安装正常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值