Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8048635
  • 博文数量: 594
  • 博客积分: 13065
  • 博客等级: 上将
  • 技术积分: 10324
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-26 16:44
个人简介

推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html

文章分类

全部博文(594)

分类: C/C++

2010-09-06 23:05:21

很早就听说过PB(protocol buffers的简称),但从未实际地去了解,最近动手对它进行了初步了了解和使用,由于它长得和RPC/IDL相似,加上以前有参与过使用C++实现过RPC的项目经验,所以容易理解起来比较顺畅,网上也有不少基于PB的RPC实现。
为什么要去了解PB?一是因为它如同MapReduce一样,属于Google出品,口碑好也很受欢迎;其次是想将它引入mooon的实现中,问题也就来了,为啥要用它?能带来什么好处?会存在什么问题?

好处显而易见,网络消息全丢给它,省去了很多编解码的麻烦和工作量,而且也易于维护,如果系统需要跨平台或语言,那非它莫属了(不和thrift等比)。但是增加了对第三方的依赖,而且是一个比第三库更强的依赖,因为还需要使用到它的.proto定义和编译器。虽然它的效率比XML/JSON等高,但肯定比不过直接使用消息结构。纠结中,最纠结的还是是否需要产生对它的依赖,要知道刚解除对log4cxx的依赖不久。

计划继续多了解protocol buffers,然后决定是否使用。

讨论:
阅读(2140) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~