所以这个例子是:
我有消息类型。它在服务器 A -> B -> C 之间传递 现在假设创建了具有几个新字段/ID 的消息的 2.0 版。服务器 A 和 C 知道这种新格式,但服务器 B 仍在使用旧格式。所有服务器反序列化、检查、序列化和发送消息。假设 A 正在填充所有字段(Message 的 V1.0 和 V2.0),C 会看到 Message V2.0 的填充字段吗?
我知道协议缓冲区支持这一点。我想知道 Thrift 是否也支持它。(在我用 C# 做的一个快速测试中,答案是否定的,只是想和大家核实一下)
作为消息代码的示例,这里是 IDL:
struct Message { // V1.0
1: i64 Id;
}
.
struct Message { // V2.0
1: i64 Id;
2: string Content;
}
服务器 C 会看到 A 中填充的 Message.Content 吗?