我最近阅读了一篇关于protocol buffers,
的文章Protocol Buffers是一种序列化结构化数据的方法。它是 有用的是开发程序,通过a 电线或用于存储数据。该方法涉及接口描述 描述某些数据结构的语言和程序 从该描述生成源代码以生成或解析 表示结构化数据的字节流
我想知道的是,在哪里使用它们?有没有现实生活中的例子而不是简单的地址簿示例?例如,它是否用于预缓存数据库中的查询结果?
答案 0 :(得分:2)
协议缓冲区是一种数据存储和交换格式,特别适用于RPC - 程序或计算机之间的通信。
替代方案包括特定于语言的序列化(Java序列化,Python pickles等),CSV和TSV等表格格式,XML和JSON等结构化文本格式以及Apache Thrift等其他二进制格式。从概念上讲,这些只是表示结构化数据的不同方式,但在实践中它们有不同的优缺点。
协议缓冲区是:
.proto
编译器。通过将结构与数据协议分离,缓冲区可以是精简的,但它意味着没有关联的.proto
文件和像protoc
这样的工具来生成解析它的代码,原始格式的任意数据都无法使用。这使得protos成为向其他可能没有.proto
文件的人发送数据的不良选择。对不同格式进行一些全面的概括:
谷歌着名uses protocol buffers for practically everything they do。如果你能想象出需要存储或传输数据的理由,Google可能会使用协议缓冲区。
答案 1 :(得分:2)
我用它们来创建一个金融交易系统。原因如下: