分布式组件和类版本控制

时间:2012-01-26 18:02:28

标签: architecture versioning distribution

我们有一个分布式系统,其中两个组件:A和B,通过相互发送一些非常庞大和复杂的传输对象进行通信。 目前,该对象简单地由A序列化为线路,并由B读取。

现在我们需要支持B版本高级而A版本保持不变的情况,这意味着B必须具有版本控制功能才能处理旧版本的通信对象。

执行此操作的常用方法有哪些? (我们使用Java)

1 个答案:

答案 0 :(得分:0)

您可以拥有该方法的不同版本 - 一个采用旧版本且A使用的版本。

此方法还可以充当新版本的翻译者(anti-corruption layer,如果愿意的话)并使用所有新客户端应该使用的新方法。

基本上,您的B应该能够阅读这两个版本 - 内部最好的方法是将旧版本翻译为新版本并在B的整个代码库中使用它。