【发布时间】:2018-12-11 17:32:07
【问题描述】:
处理消息版本控制的推荐方法是什么?主要的思想流派似乎是:
- 随着消息结构的变化,始终创建一个新的消息类
- 切勿将(纯)序列化对象用作消息。始终使用某种版本头字段和字节流正文字段。这样,接收者总是可以在尝试读取消息正文之前接受消息并检查版本号。
- 切勿将二进制序列化对象用作消息。相反,请使用 JSON 等文本形式。通过这种方式,接收方始终可以接受消息,检查版本号,然后(如果可能)了解消息正文。
由于我想保持我的消息紧凑,我正在考虑使用Google Protocol Buffers,这将使我同时满足 2 和 3。
但是,我对现实世界的经验和关于如何在消息结构发生变化时处理版本控制的建议感兴趣?
【问题讨论】:
-
恕我直言,protobuf 是一个不错的选择。您的问题似乎最好通过搜索引擎回答......例如,这似乎很好地解决了 protobuf -beautifulcode.co/…
-
@Luke 与 2.中描述的版本标头结合使用。?