我正在构建一个分布式系统,该系统由具有由 protobuf 消息定义的接口(interface)的模块/应用程序组成。
将这些 protobuf 消息直接公开给客户端是个好主意吗? ...或者最好准备一个共享库,该库负责将基于方法的接口(interface)转换为基于每个模块的 protobuf,并且客户端根本不知道 protobuf?
最佳答案
这既不是“好主意”也不是坏主意。这取决于您是否要将 Protocol Buffer 强加给您的消费者。该决定的很大一部分是:
我的 0.02 美元是 Protocol Buffer 的完美用例,因为它们是专门为跨系统、跨语言交换而设计的。
.proto
文件对数据格式进行了简洁、独立于语言的全面描述。当然,如果您决定走这条路,还有其他类似/竞争格式和库可供考虑(参见:Thrift、Cap'n Proto、etc.)。
关于interface - 公开 Protocol Buffer 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15993262/