Web应用程序体系结构中的协议缓冲区-什么时候不值得麻烦?

时间:2018-10-16 11:43:04

标签: protocol-buffers

我是Web开发的新手,我已经看到许多网站都在宣扬使用协议缓冲区的好处-例如:https://codeclimate.com/blog/choose-protocol-buffers/

我不确定某些好处是否适用于我的用例:

  1. .proto文件之外具有统一的架构:如果我无论如何都要在前端和后端验证我的数据,则将显式实施统一的架构。我认为使用协议缓冲区在这方面没有任何其他好处。
  2. 从.proto文件自动生成setter和getter:这看起来像是一个不错的卖点。但是,如果我首先不使用协议缓冲区,则不需要任何设置方法和获取方法。我发现使用它们非常麻烦:

    • 它们删除了大写字母,从而改变了原始变量名
    • 与他们合作很不自然。例如,在c ++中,我只想使用普通的旧数据结构,但是我必须做类似ptr_message-> shouldBeStruct1()。shouldBeStructArray(20).shouldBeInt();之类的事情。
  3. 易于使用的语言互操作性:我真的怀疑设计我的数据消耗代码以使其适用于protobuf消息而不是结构是好的做法。因此,我需要先将protobuf解析为一个普通的数据结构。

我看到的唯一潜在好处是在线传输时减小了数据大小。但是,这是否真的可以证明额外的中间件与协议缓冲区一起使用的开销?我想念什么?

0 个答案:

没有答案