protobuf简介和安装

忘是亡心i 2022-05-22 08:09 341阅读 0赞

本文主要参考:

idea protobuf的使用

https://www.cnblogs.com/liugh/p/7505533.html

Google Protocol Buffer 的使用和原理

https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html

下载页面

https://github.com/google/protobuf/releases/tag/v3.5.1

安装

https://www.linuxidc.com/Linux/2016-12/138716.htm

https://blog.csdn.net/xiexievv/article/details/47396725

https://www.jianshu.com/p/0a70eef1bd4a

好,下面上货。

首先引用一下大家用过的一句话:

一条消息数据,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一,总体看来ProtoBuf的优势还是很明显的。

下面是安装过程:

1、进入下载页进行下载

下载页面

https://github.com/google/protobuf/releases/tag/v3.5.1

2、tar -zxvf protobuf-all-3.5.1.tar.gz

3、mv protobuf-all-3.5.1.tar.gz /usr/local

4、进入/usr/local/protobuf-3.5.1

5、 ./configure

6、make

7、make check

8、make install

9、检查是否安装成功

protoc -version

安装完成后我们可以尝试生成一个protobuf的一个java类。

  1. syntax = "proto2";
  2. package proto;
  3. option java_package = "com.example.demo.proto";
  4. option java_outer_classname = "AddressBookProtos";
  5. message Person {
  6. required string name = 1;
  7. required int32 id = 2;
  8. optional string email = 3;
  9. enum PhoneType {
  10. MOBILE = 0;
  11. HOME = 1;
  12. WORK = 2;
  13. }
  14. message PhoneNumber {
  15. required string number = 1;
  16. optional PhoneType type = 2 [default = HOME];
  17. }
  18. repeated PhoneNumber phones = 4;
  19. }
  20. message AddressBook {
  21. repeated Person people = 1;
  22. }

这里是一个简单的proto文件。这个文件的作用就是约定了数据的定义规则。

使用如下命令完成java类的导出。

protoc -I=$SRC_DIR —java_out=$DST_DIR $SRC_DIR/addressbook.proto

比如:

protoc -I=. —java_out=. ./addressbook.proto

这样就能够生成指定包名的类了。

发表评论

表情:
评论列表 (有 0 条评论,341人围观)

还没有评论,来说两句吧...

相关阅读

    相关 GO语言:Protobuf简介

    RPC 通信 对于单独部署,独立运行的微服务实例而言,在业务需要时,需要与其他服务进行通信,这种通信方式是进程之间的通讯方式(inter-process communic