所以這樣的例子是:當它反序列化並重新序列化時,節儉是否會持續存在未知字段/字節?
我有類型消息。它在服務器A - > B - > C 之間傳遞。現在讓我們假設創建具有幾個新字段/ ID的Message 2.0版。 服務器A和C知道這種新格式,但服務器B仍在使用舊格式。 所有服務器反序列化,檢查,序列化併發送消息。 假設A填充所有字段(Message的V1.0和V2.0),C會看到消息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嗎?
您是否嘗試添加可選字段? – EFraim