我们有一个分布式系统,其中两个组件:A和B,通过相互发送一些非常庞大和复杂的传输对象进行通信。 目前,该对象简单地由A序列化为线路,并由B读取。
现在我们需要支持B版本高级而A版本保持不变的情况,这意味着B必须具有版本控制功能才能处理旧版本的通信对象。
执行此操作的常用方法有哪些? (我们使用Java)
答案 0 :(得分:0)
您可以拥有该方法的不同版本 - 一个采用旧版本且A
使用的版本。
此方法还可以充当新版本的翻译者(anti-corruption layer,如果愿意的话)并使用所有新客户端应该使用的新方法。
基本上,您的B
应该能够阅读这两个版本 - 内部最好的方法是将旧版本翻译为新版本并在B
的整个代码库中使用它。